Collection
1 /** 2 * - **集合**:集合是java中提供的一种容器,可以用来存储多个数据。 3 * 4 * 集合和数组既然都是容器,它们有啥区别呢? 5 * 6 * - 数组的长度是固定的。集合的长度是可变的。 7 * - 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。 8 * */
Collection<String> coll = new ArrayList<>(); coll.add("小李广"); coll.add("扫地僧"); coll.add("石破天"); System.out.println(coll); System.out.println(coll.contains("扫地僧")); coll.remove("小李广"); System.out.println(coll); System.out.println(coll.size()); Object[] objects = coll.toArray(); for (int i = 0; i <objects.length ; i++) { System.out.println(objects[i]); } coll.clear(); System.out.println(coll); System.out.println(coll.isEmpty());
1 /** 2 * - **迭代**:即Collection集合元素的通用获取方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。 3 * 4 * Iterator接口的常用方法如下: 5 * 6 * - `public E next()`:返回迭代的下一个元素。 7 * - `public boolean hasNext()`:如果仍有元素可以迭代,则返回 true。 8 * */ 9 10 public static void main(String[] args) { 11 /** 12 * Iterator迭代器对象在遍历集合时,内部采用指针的方式来跟踪集合中的元素,为了让初学者能更好地理解迭代器的工作原理,接下来通过一个图例来演示Iterator对象迭代元素的过程: 13 * 14 * ![](img\迭代器原理图.bmp) 15 * 16 * 在调用Iterator的next方法之前,迭代器的索引位于第一个元素之前,不指向任何元素, 17 * 当第一次调用迭代器的next方法后,迭代器的索引会向后移动一位,指向第一个元素并将该元素返回, 18 * 当再次调用next方法时,迭代器的索引会指向第二个元素并将该元素返回,依此类推,直到hasNext方法返回false,表示到达了集合的末尾,终止对元素的遍历。 19 * */ 20 Collection<String> coll = new ArrayList<>(); 21 22 coll.add("传唤"); 23 coll.add("网线"); 24 25 Iterator<String> it = coll.iterator(); 26 while (it.hasNext()){ 27 String next = it.next(); 28 System.out.println(next); 29 } 30 }
/** * 增强for循环(也称for each循环)是**JDK1.5**以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。 * * 格式: * * ```java * for(元素的数据类型 变量 : Collection集合or数组){ * //写操作代码 * } * ``` * * 它用于遍历Collection和数组。通常只进行遍历元素,不要在遍历的过程中对集合元素进行增删操作。 * */ public static void main(String[] args) { int[] array = {13, 23, 32, 3214, 4213}; for(int a : array){ System.out.println(a); } }