Java常用集合

**Collection集合特点**
**    1、List系列集合:添加的元素是有序、可重复、有索引。**
        子类常用到**ArrayList、LinkedList**:有序、可重复、有索引。
```
arrlist底层原理,默认创建一个长度为10的数组,存满时会创建到1.5倍,再满就按照实际长度
二者的区别是数据结构不同  
linkedlist底层原理基于双链表实现的。
特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是极快的。
链表可以用来设计队列、栈  
```

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

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

**    3、Collection集合获取迭代器**
Iterator<E> 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<K> keySet();                         //获取Map集合的全部键。
public Collection<V> values();                   //获取Map集合的全部值。
    
 

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值