集合注意事项

Iterator调用next()或previous()后才可以remove或set

    ListIterator x = a.listIterator(a.size() / 2);
    //x.remove();
    //Exception in thread "main" java.lang.IllegalStateException

Map可以通过keySet, values操作

    m.keySet().removeAll(m.keySet()); 
    System.out.println("m.isEmpty(): " + m.isEmpty()); //print empty
    m.values().removeAll(m.values());
    System.out.println("m.isEmpty(): " + m.isEmpty()); //print empty

keySet()方法会产生一个 Set,它由 Map 中的键后推得来。在这儿,它只被当作一个 Collection 对待。values()也得到了类似的对待,它的作用是产生一个 List,其中包含了 Map中的所有值(注意键必须是独一无二的,而值可以有重复)。由于这些 Collection 是由 Map 后推得到的,所以一个 Collection 中的任何改变都会在相应的 Map 中反映出来。

推荐阅读更多精彩内容

  • Collection ├List │├LinkedList │├ArrayList │└Vector │└Stac...
    AndyZX阅读 354评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 26,895评论 17 394
  • Collection接口 Collection接口是所有集合的祖先类。他有两个构造方法,一个无参构造,一个是带Co...
    夜幕繁华阅读 185评论 0 0
  • 第十天 权限修饰符 public protected default private 同一类 true true ...
    炙冰阅读 194评论 0 1
  • 概述 Java集合框架由Java类库的一系列接口、抽象类以及具体实现类组成。我们这里所说的集合就是把一组对象组织到...
    absfree阅读 908评论 0 10