Collection集合特点
** 1、List系列集合:添加的元素是有序、可重复、有索引。**
子类常用到ArrayList、LinkedList:有序、可重复、有索引。
arrlist底层原理,默认创建一个长度为10的数组,存满时会创建到1.5倍,再满就按照实际长度
二者的区别是数据结构不同
linkedlist底层原理基于双链表实现的。
特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是极快的。
链表可以用来设计队列、栈
** 2、Set系列集合:添加的元素是无序、不重复、无索引。** 共性都是无序无索引,唯一就是有序无序还是排序
子类HashSet:无序、不重复、无索引;
孙类LinkedHashSet:有序、不重复、无索引。
子类TreeSet:按照大小默认升序排序、不重复、无索引。
hashset就是散列表、hashset集合的底层原理是数组+链表+红黑树也就是散列表,哈希表,所以是无序,重复无索引
linkedhashset底层原理依然是基于哈希表(hashset)实现的,只是多了双链表机制来记录前后元素位置。
treeset是基于红黑树实现的
** 3、Collection集合获取迭代器**
Iterator
迭代器常用的方法
hasnext取数据并移到下一个位置
next
hasnext相当于是问一次 next相当于取一次/问一次取一次
Iterator<String>it=lists.iterator();
while(it.hasNext()){
String ele = it.next();
System.out.println(ele);
}
增强for循环、遍历数组或集合
Collection<String> c= new ArrayList<>();
for(String s : c){
System.out.println(s);
}
** 4、Map集合**
Map集合也被叫做“键值对集合” 需要存储-一对应的数据时,就可以考虑使用Map集合来做
Map接口下常用到**子类HashMap、TreeMap 孙类LinkedHashMap ** 共同特点是:不重复、无索引 唯一区别是无序,有序和排序 所以和Set是极其相似的
HashMap(由键决定特点):无序、不重复、无索引;(用的最多)
LinkedHashMap (由键决定特点):由键决定的特点:有序、不重复、无索引。
TreeMap (由键决定特点):按照大小默认升序排序、不重复、无索引。
常见方法
public boolean containsKey(0bject key); //判断是否包含某个键 ,包含返回true
public boolean containsValue(object value); //判断是否包含某个值。
public Set
public Collection