JAVA---SE——集合
程序员文章站
2022-06-09 20:40:41
...
集合主要有三大类:set,list,map集合
set,list集合继承了collection接口,map集合与collection接口没有关系,map集合是一个键值容器,提供key到value的映射。
list:有序的 ,可重复的collection set :无序的,不可重复的collection
1.list集合的主要的实现类有两个·:ArrayList LinkedList
面试题--1:
ArrayList:数组结构,定位快,插入删除慢,线程不安全。(使用量最多的集合)
LinkedList :双向链表结构,定位慢,插入删除快。(比ArrayList多六个方法,对头尾的操作)
Vector:数组结构,,线程安全。(一般不用)
set集合的主要实现类:HashSet,TreeSet
TreeSet 集合的底层基于红黑树。
面试题--2:
HashSet集合无序,不可重复,主要是底层是基于哈希表,不重复,主要的底层方法:比较hashcode,equals
可以存放null值。
map集合的主要实现类:HashTable,TreeMap,HashMap
键值对存储,key不重复
HashTable:不可以存放null值,是线程安全的类。
HashMap:可以存放null值,是线程安全的类。
TreeMap:底层基于红黑树。
其它:
集合可以存放对象,可以存放多种数据类型,不可以存放基本数据类型,放其包装类。
可以对集合的存储的数据类型进行限定----泛型 <>
遍历集合的两种方式:
1.foreach(增强for循环):
for(元素数据类型 变量 : 数组或者Collection集合) {
使用变量即可,该变量就是元素 }
2.Iterator iterator() 迭代器
Iterator it = c.iterator();
while (it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName() );
}