Java 集合框架之List集合,Set集合,Map集合

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素。一些Collection允许相同的元素而一些不允许,一些能够排序而另一些不能排序。
Java中不提供直接继承自Collection的类,提供的都是继承自Collection的子类接口,比如List,Set,Map。
在这里插入图片描述
集合框架被设计成要满足以下几个目标。

该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。

该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。

对一个集合的扩展和适应必须是简单的。

从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等等。

集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:

  • 接口:是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象
  • 实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。
  • 算法:是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

除了集合,该框架也定义了几个 Map 接口和类。Map 里存储的是键/值对。尽管 Map 不是集合,但是它们完全整合在集合中。
为此,整个集合框架就围绕一组标准接口而设计。你可以直接使用这些接口的标准实现,诸如: LinkedList, HashSet, 和 TreeSet 等,除此之外你也可以通过这些接口实现自己的集合。

List集合

次序是List最重要的特点,List集合是有序的Collection,用此接口能够精确的控制元素插入的位置。用户可以通过下标索引来访问List中的元素,类似于数组下标,
与Set集合不同,List集合中允许有相同的元素,而Set不行

List的常用方法

  • list.add():添加数据
  • list.remove():删除数据
  • list.removeAll():删除所有数据
  • list.retainAll():保留交集
  • list.subList(size1,size2):返回size1-size2之间的数据

实现List接口的常用类有ArrayList,LinkedList,Vector。

ArrayList

LinkedList

Vector

猜你喜欢

转载自blog.csdn.net/practical_sharp/article/details/87894856