集合

Collection集合特点
** 1、List系列集合:添加的元素是有序、可重复、有索引。**
子类常用到ArrayList、LinkedList:有序、可重复、有索引。

arrlist底层原理,默认创建一个长度为10的数组,存满时会创建到1.5倍,再满就按照实际长度
二者的区别是数据结构不同  
linkedlist底层原理基于双链表实现的。
特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是极快的。
链表可以用来设计队列、栈  

** 2、Set系列集合:添加的元素是无序、不重复、无索引。** 共性都是无序无索引,唯一就是有序无序还是排序
子类HashSet:无序、不重复、无索引;
孙类LinkedHashSet:有序、不重复、无索引。
子类TreeSet:按照大小默认升序排序、不重复、无索引。

hashset就是散列表、hashset集合的底层原理是数组+链表+红黑树也就是散列表,哈希表,所以是无序,重复无索引
linkedhashset底层原理依然是基于哈希表(hashset)实现的,只是多了双链表机制来记录前后元素位置。
treeset是基于红黑树实现的

** 3、Collection集合获取迭代器**
Iterator 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 get(object key);                         //根据键获取对应值map.get("手表");
public remove(object key);                      //根据键删除整个元素(删除键会返回键的值):
  -public boolean containsKey(0bject key);         //判断是否包含某个键 ,包含返回true
  -public boolean containsValue(object value);     //判断是否包含某个值。
public Set<K> keySet();                         //获取Map集合的全部键。
public Collection<V> values();                   //获取Map集合的全部值。
    
posted @ 2024-02-17 16:55  launch  阅读(10)  评论(0编辑  收藏  举报