2022-08-06 第六组 Myy 学习笔记_Java_集合收尾部分
作者:互联网
集合收尾部分
List:数据是有顺序(添加的先后顺序)的,数据是可以重复。
ArrayList:内部结构是数组。比较适合左高频率的查找,遍历。
LinkedList:双向链表。比较适合做高频率的新增和删除。
创建对象的时候用的是多态
父类对象---子类引用
我们创建出来的对象只能调用父类和子类中都有的方法
根据下标/索引获取指定位置的元素
面试题
1.Collection和Map接口的区别
2.ArrayList和LinkedList的区别
3.ArrayList和Vector的区别
Collection接口:
List:有顺序,元素可以重复,顺序指的是添加的先后顺序
Set:没有顺序,元素不可以重复,顺序指的是添加的先后顺序
Set其实是有顺序的,内部有一个专门排序的算法。
1.所谓的无序不等于随机
2.所谓的无序指的是没有按照添加的先后顺序,其实内部是做了排序的。
引用数据类型,set集合所谓的不能重复,默认情况下比较地址
-
Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例。
Set集合如何确保里面的数据不重复?
-->保证数据类型的类要重写hashCode和equals方法。
面试题
1.List和Set的区别
2.HashSet和LinkedHashSet的区别和联系
TreeSet
排序规则:要排序的对象的类必须实现Comparable接口
返回值代表什么?
int代表排序结果
负数-1:比较的两个值调用者小
0:两个值相等
正数 1:比较的两个值调用者大
LinkedHashSet:在添加数据的同时维护数据的
比较接口:
Comparable接口:自然排序,排序规则是固定的
Comparator接口:临时排序
Map接口:
1.存储对值K-V,key和value
2.key不能重复,value是可以重复的
3.没有顺序(添加的先后顺序)
HashMap内部存储结构
JDK1.7之前:链表+二叉树
JDK1.7及之后:链表+数组+红黑树
HashMap基本上面试90%问原理!
Hashtable和HashMap几乎一模一样
面试题:Hashtable和HashMap的区别
1.Hashtable线程异步,线程不安全;Hashtable线程同步,线程安全
2.HashMap的key是可以为null的,Hashtable是不可以为null的
集合的遍历
集合需要掌握的:
1.如何创建需要的集合。多态
2.主要用到的是List和Map
3.各种区别?
4.各种集合方法API的调用
5.两个比较的接口
6.各种集合的特点,从接口层面,到实现类层面
7.重点集合的内部结构
8.各种集合的遍历
9.并发问题
最重要的集合:ArrayList、HashMap
积压的问题:
1.Synchronized原理
2.ReentrantLock原理
3.ArrayList原理
4.LinkedList原理
5.HashMap原理**************
6.HashSet原理
List -- Map -- Set
标签:Myy,06,HashMap,08,接口,Hashtable,集合,排序,ArrayList 来源: https://www.cnblogs.com/JNMyy/p/16557611.html