集合(Java)

  • List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口
  • Set下有HashSet,LinkedHashSet,TreeSet
  • List下有ArrayList,Vector,LinkedList
  • Map下有Hashtable,LinkedHashMap,HashMap,TreeMap
     

Set 无序,唯一

HashSet(哈希表),LinkedHashSet(链表和哈希表),TreeSet(红黑树)

  • TreeSet的主要功能用于排序
  • LinkedHashSet的主要功能用于有序的集合(先进先出)
  • HashSet只是通用的存储数据的集合

set集合遍历方法:

1.迭代器:

 迭代器有remove方法

2.foreach循环:

for(String str : list){

System.out.println(str);

}

List 有序,可重复

ArrayList,Vector,LinkedList

 HashSet底层:数组加链表的形式

排序方法:

     1.自然排序

Student类中实现 Comparable接口

重写Comparable接口中的Compareto方法

当定义的的集合类型本身不支持比较的时候,可以使引用的类型实现Comparable<>接口,重写compareTo()方法,经过比较(二叉树排序),根据返回值进行排序

      2.定制排序

实现 Comparator接口

Set和List对比:
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。
List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变。

Map接口:

Map 提供 key 到 value 的映射,你可以通过“键”查找“值”。一个 Map 中不能包含相同的 key ,每个 key 只能映射一个 value 。

map中的常用方法: 

map遍历方式:

方法一 :在for-each循环中使用entries来遍历

方法二:使用Iterator遍历

方法三:使用entrySet遍历

Collections工具类

 跟排序相关的方法:

 查找替换的相关方法:

1.Map存储数据的特点:双列数据,存储key-value对数据

key--->无序的,不可重复的--->set存储

value--->无序的,可重复的--->collection存储

key-value--->无序的,不可重复的--->set存储

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值