集合小结

 

 1.集合之间的关系


Collection-->List-->ArrayList ,Vector ,LinkedList
               -->Set-->HashSet ,TreeSet


Map--------->HashMap ,Hashtable ,TreeMap

 

 

 

 

 

2.ArrayList和LinkedList的区别


ArrayList:数据结构是数组,增删慢查找快


LinkedList:数据结构是链表,查找慢增删快

 

 

 

 

 

3.List中各集合是怎么取得元素的


ArrayList:不安全的,不同步的,效率高的
 两种取得元素:iterator, get


Vector:   安全的,同步的,效率低的
 三种取得元素:iterator, get, elements


LinkedList:两种取得元素:iterator, get

 

 

 

 

 

4.list与Set


List与Set:


List是有脚标的(取得顺序和放的顺序是一致的),元素之间能够重复,list有三种取元素的方法(get是它特有的)


Set没有顺序(取得顺序和放的顺序是不一定一致的),元素之间不能重复,Set 有两种取元素的方法(无get)

 

 

 

 

 

5.HashSet与TreeSet以及两种比较接口


HashSet与TreeSet:


看到Hash想到hashCode和equals, 先判断hashCode是否相等,再不相等的情况下再判断equals是否相等
看到Tree想到二叉树,想到两个接口


TreeSet具备比较功能:


比较分为两类:


(1)元素本身具备比较功能
 Comparable,元素具备比较功能,就是它和另外一个元素之间进行比较,传递一个参数
compareTo(T o) 


(2)容器具备比较功能
 Comparator, 容器具备比较功能,就是容器中的任意两个元素进行比较,传递两个参数
compare(T o1, T o2)

 

 

 

 

 

6.Map


Map:键和值之间存在映射关系(键要保证唯一性)


取值是先得到一个Set集合,然后对Set集合遍历


取值有三种方式:(1)keySet 得到一个Set集合(key),然后对Set集合遍历,用get通过key拿值
                        (2),entrySet,得到一个Map.Entry 类型的me,通过me取键和值
                        (3),values取得值

 
Hashtable:键和值不能为空,同步安全效率低的
HashMap:键和值能为空,不同步不安全效率高的
TreeMap:不同步不安全的,可以对键排序

 

 

 

 

 

7.Arrays和Collections


Arrays:  List<T> asList(T... a)  将数组装换成集合,装换后的集合是固定长度的,不能对其进行长度改变的操作
  
Collections:int binarySearch(List<? extends T> list, T key, Comparator<? super T> c) 
对List进行二分法查找,并按比较器排序,二分法查找前必须是有序的sort(List<T> list, Comparator<? super T> c)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值