Java 库中的具体集合(摘自 java 核心计书卷1 基础知识 第十三章 集合)

JAVA 库中的具体集合
ArrayList一种可以动态增长和缩减的索引序列
LinkedList一种可以在任何位置进行高效的插入和删除操作的有序序列
ArrayDeque一种可以循环数组实现的双端队列
HashSet一种没有重复元素的无序集合
TreeSet一种有序集合(PS:没有重复元素)
EnumSet一种包含枚举类型的集合
LinkedHashSet一种可以记住元素插入次序的集合
PriorityQuerue一种允许高效删除最小元素的集合
HashMap一种存储键/值关联的数据结构
TreeMap一种键值有序排列的映射表
EnumMap一种键值属于枚举类型的映射表
LinkedHashMap一种可以记住键值项添加次序的映射表
WeakHashMap一种其值无用武之地后可以被垃圾回收器回收的映射表
IdentityHashMap一种用==而不是用equals比较键值的映射表
  

ArrayQueue 的初始化默认为16,插入效率介于linkedList 与ArrayList之间,基本中间值,删除效率接近ArrayList ,总体效率较高,其内删除等方法,从第一个开始操作。remove方法调用removeFirs操作,可以自行调用removeLast()方法,

其与LinkedList 共同继承Queue接口;

 

链表:Java程序设计语言中,所有 链表实际上都是双向链表(doubly linked),

链表与集合的重要区别:链表是一个有序的集合(ordered colleciton),由迭代器来负责add动作,(PS:只有对自然有序集合使用迭代器添加元素才有实际意义)。如Iterator中的子集ListIterator提供add方法,但其自身不提供,如set 为无序集合。

ListIterator接口中  提供了 next()向后遍历,以及previous()向前遍历方法,对应的各自hasNext()及hasPrevious()方法来判断是否有向后(前)元素;

List<String> demo = new LinkedList<>();
demo.add("S");
demo.add("T");
demo.add("R");
Iterator<String> iterator = demo.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

ListIterator中,add()方法只依赖迭代器的位置,而remove()方法依赖于迭代器的状态 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值