为了保存数量不确定的数据,以及保存具有映射关系的数据(也被称为关联数组), Java提供了集合类。集合类主要负责保存、盛装其他数据,因此集合类也被称为容器 类,所有的集合类都位于 java.util包下。 集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存 的是对象的引用变量);而集合里只能保存对象(实际上只是保存对象的引用变量, 但通常习惯上认为集合里保存的是对象)。 Java的集合类主要由两个接口派生而出: Collection和Map, Collection和Map是Java 集合框架的根接口,这两个接口又包含了一些子接口或实现类。如下所示是 Java集合 简单结构图
- List集合
List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。 Lst集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List集合默认 按元素的添加顺序设置元素的索引,例如第一次添加的元素索引为0,第二次添加的元 素索引为1…
list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.add("E"); list.add("A");//允许元素重复
- Set集合
Set集合类似于一个罐子,程序可以依次把多个对象“丢进”Set集合,而Set集合通 常不能记住元素的添加顺序。 Set集合不允许包含相同的元素,如果试图把两个相同的元素加入同一个Set集合 中,则添加操作失败,add()方法返回 false,且新元素不会被加入。
set.add("B"); set.add("A"); set.add("D"); set.add("C"); set.add("A"); set.add("F");
- Map集合
Map接口中键和值一一映射. 可以通过键来获取值。 给定一个键和一个值,你可以将该值存储在一个Map对象. 之后,你可以通过键 来访问对应的值。 9.5、Map集合 System.out.println(); // 返回第一个元素,并在队列中删除 System.out.println("‐‐‐‐‐‐poll‐‐‐‐‐‐"); System.out.println("poll=" + queue.poll()); System.out.println(queue); // 返回第一个元素 System.out.println("‐‐‐‐‐‐element‐‐‐‐‐‐"); System.out.println("element=" + queue.element()); System.out.println(queue); // 返回第一个元素 System.out.println("‐‐‐‐‐‐peek‐‐‐‐‐‐"); System.out.println("peek=" + queue.peek()); System.out.println(queue); } } 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 当访问的值不存在的时候,方法就会抛出一个NoSuchElementException异常. 当对象的类型和Map里元素类型不兼容的时候,就会抛出一个 ClassCastException异常。 当在不允许使用Null对象的Map中使用Null对象,会抛出一个 NullPointerException 异常。 当尝试修改一个只读的Map时,会抛出一个UnsupportedOperationException异 常。