美文网首页
Java之集合

Java之集合

作者: 蜗先生 | 来源:发表于2017-08-07 20:49 被阅读10次

集合和数组一样是一个容器。

1.集合和数组的区别

1)数组只能存放相同数据类型的元素,集合可以存储不同的数据类型的元素。
2)数组可以存储基本数据类型,又可以存储引用数据类型,集合只能存储引用数据类型。
3)数组的长度(length)是固定的,集合的长度(capacity)是可变的。

2.集合的体系结构
集合体系

集合主要分为Collection体系和Map体系,Collection和Map都是各自体系的根接口,Collection是单元素集合,Map是双元素集合。

Collection又分为List体系和Set体系
List体系:存取顺序一致的,可重复的
Set体系:存取顺序不一致的,不可重复的
Map体系:Key值唯一的key-value对。

List又分为ArrayList、LinkedList、Vector
ArrayList:增删慢,查询快(底层基于数组的实现类,显式索引)--教室座位
LinkedList:增删快,查询慢(底层基于双向链表的实现类,隐式索引)--大小个排队
Vector:底层基于数组的实现类,线程安全,(增删慢,查询慢)

Set分为HashSet和TreeSet
HashList:无序的
TreeSet:可基于自定义顺序的,存储的类需要实现Comparable,并且重写compareTo( )方法。(也可以使用Comparator)

HashSet的子类加入链表功能
LinkedHashSet:存取顺序一致。

3.集合工具类Collections

Collections中的方法都是static修饰的,可以直接用Collections.method( )调用方法。
常用的方法:
static XXX synchronizedXXX(XXX<T> xxx)把当前List加同步锁变成线程安全的。XXX可以是List、Set、Map等。
static void sort(List<T> list)对当前List进行排序。
static void shuffle(List<T> list)对指定List进行随机置换

相关文章

网友评论

      本文标题:Java之集合

      本文链接:https://www.haomeiwen.com/subject/vspjfxtx.html