Java集合框架详解:JDK1.5增强for循环

需积分: 0 12 下载量 10 浏览量 更新于2024-08-18 收藏 310KB PPT 举报
"JDK1.5引入了增强的for循环,使得遍历数组和集合更加简便。增强的for循环也被称为foreach循环,它简化了传统的迭代方式。在Java集合框架中,包括List、Set和Map接口,以及它们的实现类,提供了丰富的数据存储和操作功能。此外,Boxing和Unboxing是Java自动类型转换的重要特性,而Iterator和Enumeration接口则用于遍历集合。Collections和Arrays类提供了许多实用的静态方法来操作集合和数组。" 在Java集合框架中,有三个主要的接口: 1. **List接口**:List是一种有序的集合,它允许重复元素,并且可以通过索引来访问和修改元素。ArrayList和LinkedList是List接口的两个常见实现类。ArrayList提供了快速的随机访问,而LinkedList适合于频繁的插入和删除操作。 2. **Set接口**:Set不允许有重复元素,它维护元素的唯一性。HashSet和TreeSet是Set接口的常见实现。HashSet基于哈希表,提供快速的添加和查找;而TreeSet内部使用了红黑树,保证元素排序(默认升序)。 3. **Map接口**:Map并不直接存储元素,而是存储键值对。HashMap、TreeMap和LinkedHashMap是Map接口的典型实现。HashMap提供了高效的查找和插入,TreeMap按键的自然顺序或自定义比较器排序,LinkedHashMap则保持插入顺序或访问顺序。 **Boxing/Unboxing(装箱/拆箱)**:这是Java中自动将原始类型转换为对应的包装类,以及将包装类转换回原始类型的过程。例如,int到Integer的转换就是装箱,而Integer到int则是拆箱。这种特性使得原始类型和对象可以方便地相互转换。 **Iterator和Enumeration接口**:两者都用于遍历集合,但Iterator是更现代的设计,它提供了remove()方法可以直接从集合中移除元素,而Enumeration只允许遍历和获取元素,不支持删除。 **Collections和Arrays类**:这两个类提供了大量静态方法,如sort()用于排序List,reverse()用于反转List,copy()用于复制集合或数组,fill()用于填充数组等。Collections还提供了集合的通用操作,如max()、min()找到最大或最小元素,以及containsAll()、addAll()、removeAll()等集合操作。 增强的for循环示例代码: ```java int[] array = {1, 2, 3, 4, 5}; for (int i : array) { System.out.println(i); } Collection c = new ArrayList<>(); c.add("hello world"); c.add(new String("oyhj")); c.add(new Float(99.9f)); for (Object obj : c) { System.out.println(obj); } ``` 在上述代码中,增强的for循环使得我们无需显式地创建迭代器,简化了遍历过程。