1.集合、数组都是对多个数据进行存储操作的结构,简称Java容器。
2.数组在存储多个数据封面的特点:
3.数组在存储多个数据方面的特点:
1、Collection接口继承树
2、Map接口继承树
/*集合框架 * |----Collection接口----|:单例集合,用来存储一个一个的对象 * |----list接口:储存有序的,可重复的序列。 -->“动态数组” * |----ArrayList,LinkedList,Vector * * |----set接口:存储无序的,不可重复的序列 -->”集合“ * |----HashSet,LinkedHashSet,TreeSet * * |----Map接口----|:双例集合,用来存储一对(key-value)一对的对象 -->映射函数 y=f(x) * |----HashMap,LinkedHashMap,TreeMap,HashTable,Properties * /
package com.guigu.java; /* * 集合元素的遍历操作,使用迭代器Iterator接口 * 内部的方法:hasNext()和 next() * */ import org.junit.Test; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class IteratorTest { @Test public void test(){ Collection coll=new ArrayList(); coll.add(123); coll.add(456); coll.add(new String("tom")); coll.add(false); coll.add(new Person("Jerry",20)); //方式一:不推荐 // Iterator it=coll.iterator(); // System.out.println(it.next()); // System.out.println(it.next()); // System.out.println(it.next()); // System.out.println(it.next()); // System.out.println(it.next()); //方式二:不推荐 // Iterator iterator = coll.iterator(); // for(int i=0;i<coll.size();i++) // System.out.println(iterator.next()); //方式三:推荐 Iterator iterator = coll.iterator(); //hasNext():判断下一个是否存在 while(iterator.hasNext()){ System.out.println(iterator.next()); //next():指针先下移,再返回元素 } } @Test public void test1(){ Collection coll=new ArrayList(); coll.add(123); coll.add(456); coll.add(new String("tom")); coll.add(false); coll.add(new Person("Jerry",20)); Iterator iterator = coll.iterator(); while(iterator.hasNext()){ Object obj=iterator.next(); if("tom".equals(obj)) iterator.remove(); } iterator = coll.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()); } } }