java 中list,set,map集合的用法和区别

来源:互联网 发布:windows激活有什么用 编辑:程序博客网 时间:2024/05/17 04:12
为什么使用集合框架,而很少数组作为存储结构 
1),数组长度,不能动态扩容,集合框架无需声明存储大小,可以动态扩容 
2),数组存储类型单一,集合框架可以存储任何类型,加上泛型,  可以避免强制转换 
3),数组操作方法少,集合框架操作元素方法多,便于管理 

常见的集合有: 
List集合:ArrayList和linkedList 
Set集合:HashSet 和 TreeSet 
Map集合:HashMap 和TreeMap 

1)list集合:有顺序的,可以重复的,没有排序的集合,通过索引存取 
ArrayList:是实现基于动态数组的集合,随机访问速度快 
linkedList:基于链表的集合,插入和删除速度快 

2)Set集合:没有顺序的,无重复的,每个对象只接受一次。可用于去重复 
Hashset; 去重复用hashset 
TreeSet: 去重复带排序用TreeSet 
HashSet是基于Hash算法实现的,其性能通常优于TreeSet,我们通常都应该使用HashSet,在我们需要排序的功能时,我们才使用TreeSet 

3)map集合:成对的数据结构,键值具有唯一性,否则值被替换 
  HashMap:用于快速查找的 
  TreeMap:返回的结果是经过排序的,是唯一带有subMap()方法的可以返回一个子树
0 0
原创粉丝点击