△列表迭代器也是不支持在迭代的时候添加元素的,只是列表迭代器自己定义了增删的方法而已.迭代器可以看成实在两个元素之间的指针,每当调用next就跳过一个元素并返回刚刚跳过的元素.
△HashTable不允许null作为键和值,而HashMap可以.
△在Java中,所有链表实际上都是双向连接的,即每个节点还存放着指向前驱节点的引用
,add方法将在listiterator迭代器位置前添加一个元素.尽管有Listiterator,但是对列表的并发修改仍然会产生异常,但是这里有个特例,set操作不被视为结构性的修改.
△链表不支持随机访问,调用get方法,依然需要逐个寻找,因此对于列表,非常不建议下列的做法(效率极低,最好用迭代器):
for(int i=0;i<list.size();i++) {
list.get(i);
}
△散列表由链表数组实现.每个列表称为桶.先计算散列码,然后得到桶的索引,最后根据桶内如果有重复元素,在根据equals方法判断是否重复.
△优先级队列:迭代的时候无序,但是remove的时候是有顺序的.
△集合框架中视图的概念:
     通过使用视图,可以获得其他实现了集合接口和映射表接口的对象.例如keyset方法,看似好像创建了一个新集,但是这个类的方法可以对原映射表进行操作.例如:如果在keyset中remove了某个key,对应的映射表会被删除.
△LinkedHashSet和LinkedHashMap,链接散列映射表将用访问顺序而不是插入顺序对于映射条目进行迭代.(ArrayList是插入顺序).每次调用get或put则会更新顺序,将使得元素到了条目的尾部,因此有利于寻找什么元素访问频率较低,在枚举的前几个元素都是访问低的..,要想构造这样的HashMap,在构造函数的时候使用:LinkedHashMap<K,V>(initialCapacity,loadFactor,true).
△RandomAccess接口可以用来检测一个集合是否支持高校的随机访问.(标记性接口),ArrayList和Vector类实现了RandomAccess接口
△Arrays类的静态方法返回了一个包含了普通数组的一个List包装器.例如:
Card[] cardDeck=new Card[2];
List<Card> cardList=Arrays.asList(cardDeck);
  返回的是视图对象带有访问底层数组的get和set方法,改变数组大小的所有方法(add和remove)都会抛出异常.
  collections.nCopies(n,anObject):将返回一个不可修改的实现类List接口的对象,对象中有n个元素,每个元素都是"anObject".
△子范围视图也可以建立.例如对于一个列表可以调用subList获得一个列表的子范围视图.可以将任何操作应用于子范围,并且能够真实反映整个列表的情况.例如,下列操作将删除一个列表的第一个元素到第9个元素(包含头不包含尾):
List group=staff.subList(1,10);
group.clear();

△Collections.unmodifiableList(list):将返回一个不可修改的列表视图,Collections.synchronizedMap(new HashMap<>());将返回一个线程安全的HashMap.

 

JavaSE复习_9 集合框架复习的更多相关文章

  1. JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

    前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的 ...

  2. JavaSE中Collection集合框架学习笔记(3)——遍历对象的Iterator和收集对象后的排序

    前言:暑期应该开始了,因为小区对面的小学这两天早上都没有像以往那样一到七八点钟就人声喧闹.车水马龙. 前两篇文章介绍了Collection框架的主要接口和常用类,例如List.Set.Queue,和A ...

  3. java集合框架复习(一)

    数组类Array是java中最基本的一个存储结构,它用于存储 一组连续的对象或一组类型相同的基本类型的数据. Array特点:效率高,但容量固定且无法动态改变, 缺点:无法判断其中存有多少元素,len ...

  4. java集合框架复习

    数组类Array是java中最基本的一个存储结构,它用于存储 一组连续的对象或一组类型相同的基本类型的数据. Array特点:效率高,但容量固定且无法动态改变, 缺点:无法判断其中存有多少元素,len ...

  5. java集合框架复习----(3)Set

    文章目录 四.set集合 1.hashSet[重点] 2.TreeSet 四.set集合 无序.无下标.元素不可重复 1.hashSet[重点] == 数组+链表+红黑树== 基于hashcode计算 ...

  6. java集合框架复习----(1)

    文章目录 1 .集合框架思维导图 一.什么是集合 二.collection接口 1 .集合框架思维导图 一.什么是集合 存放在java.util.*.是一个存放对象的容器. 存放的是对象的引用,不是对 ...

  7. java集合框架复习----(4)Map、List、set

    文章目录 五.Map集合[重要] 1.hashMap 六.Collections工具类 总结 集合的概念 List集合 set集合: Map集合 Collection 五.Map集合[重要] 特点: ...

  8. java集合框架复习----(2)List

    文章目录 三.List集合 listIterator:迭代器 List实现类 1.泛型类 2.泛型接口 三.List集合 特点 有序,打印输出的顺序和添加时的顺序一致(不会帮你自动排序) 有下标,可以 ...

  9. Java复习:集合框架(一张图)

    最后一个看不见了补充一下: ConcurrentHashMap:是线程安全的(基于lock实现的,同步的时候锁住的不是整个对象,而加了synchronized的是锁住了整个的对象),实现了Map接口, ...

随机推荐

  1. CSS3前缀自动补全方案和插件

    第一种方法:prefix free,js插件,大小2kb,直接导入,无需任何浏览器兼容前缀 <script src="prefixfree.min.js"></s ...

  2. Windows下Python,setuptools,pip,virtualenv的安装

    Windows 2003平台,安装Python2.7.4,Python3.3,setuptools,pip,virtualenv. 安装Python2.7.4(当前版本是2.7.6),安装路径:C:\ ...

  3. 20151210001 DataGridView 选中与被选中

    // DataSet_IP list        private void DataSet_IP_list()        {            DataSet_IP = new System ...

  4. MessageFlood 分类: 串 2015-06-18 17:00 10人阅读 评论(0) 收藏

    MessageFlood TimeLimit: 1500ms Memory limit: 65536K 有疑问?点这里^_^ 题目描述 Well,how do you feel about mobil ...

  5. Poj(1325),最小点覆盖

    题目链接:http://poj.org/problem?id=1325 Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total ...

  6. 土豪聪要请客(stol)

    土豪聪要请客(stol) 众所周知,聪哥(ndsf)是个土豪,不过你们不知道的是他的MZ和他的RMB一样滴多…… 某天土豪聪又赚了10^10000e的RMB,他比较开心,于是准备请客.他在自己在XX星 ...

  7. SSH配置私钥登陆服务器

    前言 本文基于实际Linux管理工作,实例讲解工作中使用ssh证书登录的实际流程,讲解ssh证书登录的配置原理,基于配置原理,解决实际工作中,windows下使用SecureCRT证书登录的各种问题, ...

  8. android 源码目录介绍

    Android 4.0源码目录介绍|-- Makefile|-- bionic (bionic C库)|-- bootable  (启动引导相关代码)|-- build (存放系统编译规则及gener ...

  9. Android权限安全(1)自定义,检查,使用权限

    1.自定义权限: <!-- 定义自定义权限 --> <permission android:name="com.example.f6k5i8.checkpermission ...

  10. HDU 4997 Biconnected (状态压缩DP)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4997 题意:一个n个点的完全图中去掉一些边.求这个图有多少个子图是边双联通的.(就是去掉任意一条边之后 ...