集合List和Map

集合

在这里插入图片描述

List

List 接口存储一组不唯一,有序的对象
  • ArrayList

     ArrayList实现了长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
    

    在这里插入图片描述

  • LinkedList

     Vector线上安全 ArrayList线上不安全
     LinkedList采用链表存储方式。插入、删除元素时效率比较高
    

    在这里插入图片描述

list.remove(int index)//移除,元素为空报异常
list.pop()//从此列表表示的堆栈中删除(头部)一个元素,元素为空报异常
list.poll()//检索并删除此列表的头(第一个元素),元素为空返回null
list.polllast() //检索并删除此列表的最后一个元素,如果此列表为空,则返回 null 
list.get(int index) 返回此列表中指定位置的元素
list.peek()//检索但不删除此列表的头(第一个元素) 

Set

Set是无序不可重复的list是有序可以重复的
Set无序指的是和插入的顺序无关,由Comparator对内容进行一个自然排序
  • HashSet

     Set集合不允许有重复元素,当放入的元素在集合中已存在时,旧的元素被覆盖
     HashSet是以无序(散列)的形式保存的
    
  • treeSet

    TreeSet是以有序的形式保存的,无论放入顺序如何,集合都会排序后存放,
    放入的元素要实现接口Comparable
    

Map

  • HashMap--------无序

     map.keyset()//获取map中的所有键
     map.values()//获取map中的所有值
     map.entrySet()//获取map中的键值对
    
  • LinkHashMap//有序map

  • Iterator

     hasNext()-------如果迭代还有元素,返回true
     next() ---------返回迭代的下一个元素
     remove()--------删除迭代的元素
    
  • 数组和集合的转换

     数组转集合:*Arrays.asList()* 将数组变成集合,集合只能读,不能写
     集合转数组:*list.toArray()
    

四种Map的区别

	 1. HashMap---------------------------- 线程不安全 、无序  加载因子0.75   初始化长度16
	 2. LinkedHashMap---------------------- 线程不安全 、有序
	 3. Hashtableb  不允许 null  -------------线程安全 、同步方法、性能不高、无序
	 4. 在多线程时用 ConcurrentHashMap -------线程安全,性能高、无序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值