Java集合

转载 2019-11-20 11:17

Java集合的学习笔记

访问集合的方式

  • 迭代器访问
  • 超级for循环
  • 普通for循环
  • 自带方法

概念:

可用于存储数量不等的对象,并可以实现常用的数据结构,如栈、队列等。除此之外Java集合还保存具有映像关系的关联数组。java集合类主要由两个接口派生而出:Collection和Map,它俩是Java集合框架的根接口。

1
2
3
4
List:代表有序、 重复的集合;
Set:代表无序、不可重复的集合;
Map:代表具有映射关系的集合;
Queue:代表一种队列集合实现。(Java之后)

java集合结构图

集合的体系结构:

接口: 是代表集合的抽象数据类型。之所以定义接口,是为,了以不同的发方式来操作集合对象

实现类:是集合接口的具体实现,从本质上讲他是可以重复使用的数据结构,ArrayList,LinkedList,HashSet,HashMap。

Collection接口:Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。Collection 接口存储一组不唯一,无序的对象。

List接口:List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素。List 接口存储一组不唯一,有序(插入顺序)的对象。

Set:Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。Set 接口存储一组唯一,无序的对象

SortedSet:继承于Set保存有序的集合.

Map:Map 接口存储一组键值对象,提供key(键)到value(值)的映射。

Map.Entry:描述在一个Map中的一个元素(键/值对)。是一个Map的内部类。

SortedMap:继承于 Map,使 Key 保持在升序排列。

Enumeration:这是一个传统的接口和定义的方法,通过它可以枚举(一次获得一个)对象集合中的元素。这个传统接口已被迭代器取代。

Set和List的区别:

  1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。
  2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变<实现类有HashSet,TreeSet>
  3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变,<实现类有ArrayList,LinkedList,Vector>

    集合存储数据的结构有那些:

    堆栈 先进后出
    队列 先进先出
    链表

    注意:

    • 集合在循环访问的过程中集合不允许修改集合输入,如果发生修改就会发生修该异常

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×