JAVA--集合

集合的概念

集合类存放的都是对象的引用,而非对象本身。

集合中不能存放基本数据类型,只能存放引用数据类型。

集合是一个动态的数组,数组的长度不可发生改变,集合的长度是可以改变的。

 Collection的特点

 Collection接口中的元素是可重复的但无序的;

Lis集合

元素是可重复的有序的,每一个元素都存在一个索引;

ArryList集合

对数组进行封装,是顺序结构;

特点

 查询快,增删慢,线程不安全,效率高;

链式操作

list.get(0).name+list.get(0).age

往指定索引位置插入元素,不需要手动扩容位移插入了:

list.add(index,元素)

删除指定索引位置的元素:list.remove(index);

判断某个元素是否在集合中:list.contains(元素);

LinkedList集合

底层数据结构是链表;

特点

查询慢,增删快,线程不安全,效率高;

基于头尾的数据进行操作;

栈顶元素

删除栈顶元素:list.pop( );

取出栈顶元素:list.peek( );

Map集合

元素无序,通过键值对的方式进行存储,键不可重复,值可以重复;

键(key)   值(value)

Map是一个存储键值对的元素的集合;

HashMap集合

HashMap集合是可以序化的,是线程不安全的;

HashMap底层是基于数组、链表和红黑树实现的;

赋值与取值

hashMap.put( k , y );   //赋值

hashMap.get( k );      //取值

Set集合

元素是无序的,是通过链表进行存储的,元素不可重复;

HashSet集合

特点

线程不安全,效率高,允许存储null元素,元素无序且唯一;

TreeSet集合

TreeSet基于TreeMap实现的,底层的数据结构是红黑树;

迭代器   iterator

判断迭代器中是否有下一个元素:iterator.hasNext(  );

取出当前元素:iterator.next( );

hashMap是无序存放的,所以无法直接通过索引遍历,且key值不可重复,正好和Set集合特点一样,所以就通过hashmap.keySet( )把key放到一个Set集合里面;

用迭代器对Set集合进行迭代,取出key放到迭代器里;

对迭代器进行循环,取出key对应的value值。

增强for循环:foreach

for(  :){

}

冒号左边有两个内容一个是在集合中取出的值的对应类型的空间;另一个是取的一个名字

冒号右边是你要遍历的集合

注意:在使用增强for循环时要注意判空;

  • 36
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值