学习集合框架的总结:
主要学了三种集合框架,分别是Set,List和Map。
1.Set
1.Set是一种接口,它继承了Collectio接口。
2.Set是一种用来装东西的容器,我们可以用由它的实现类创建的对象来装基本数据类型的的数据元素,也可以用来装我们自己定义的类对象。
3.常用的Set实现类有HashSet和TreeSet类,用着两个类实例化的对象可以用来装数据元素。
4.实现类的使用格式:
//hs是由HashSet类实例化的对象,<String>指的是这个容器是用来存放String类型的数据
java.util.HashSet<String> hs = new java.util.HashSet<String>();
//向Set里面添加元素
hs.add("向Set里添加的元素");
5.Set中的数据元素是无顺序的,并且里面的元素不能有重复。
6.要把Set中的元素取出来,必须使用迭代器,使用方法如下示例:
//把set中的元素放入迭代器中 java.util.Iterator<String> iter = hs.iterator(); //通过while循环,将迭代器中的元素一个个读出来 while(iter.hasNext()){//hasNext用于判断迭代器中的元素是否已经读完,读完则返回false String str = iter.next();//读取一个元素 System.out.print("\t"+str);//输出读取的元素 }
2.List
1.List中存放的数据元素是线性的,有顺序的,我们可以取出指点位置的数据元素。
2.常用的List实现类有ArrayList,LinkedList,ArrayList是数组队列,LinkedList是链表队列。
3.下面是ArrayList的使用示例:
//实例化一个数组队列 java.util.List<String> list = java.util.ArrayList<String>(); //用循环向数组队列中添加元素 for (int i = 0; i < 10; i++) { String str = "第"+(i+1)+"个元素"; list.add(str); } //利用循环将数组队列中的数据元素输出来 for (int i = 0; i < 10; i++) { String str = list.get(i);//可以根据数组队列的下标将队列中的元素读取出来 System.out.print("\t"+str);//输出读取的元素 }
3.Map
1.Map是用来存放映射关系的,其中有Key和value,每个Key都有一个value与之对应。
2.key是不能重复的,但是value是可以重复的。
3.下面是用Map来统计数组中每个数字出现的次数
public class MapTest { /**Map的应用示例 * @param args */ public static void main(String[] args) { /** * 下面是用Map来统计数组中每个数字出现的次数 */ // 给定的一个数组 int[] array = { 1, 2, 3, 4, 12, 1, 2, 3, 54, 1, 4, 5, 6, 3, 2, 4, 2, 5 }; // 创建一个HashMap java.util.HashMap<Integer, Integer> hashmap = new java.util.HashMap<Integer, Integer>(); for (int i = 0; i < array.length; i++) { int key = array[i]; if (hashmap.containsKey(key)) { int value = hashmap.get(key); hashmap.put(key, value + 1); } else { hashmap.put(key, 1); } } } }