Java知识33 集合框架 List接口 Map 和set【多测师】
一、Java集合框架 1.Java提供的特设类如:Dictionary Vector Stack和Properties这些类来储存和操作对象组 2.通过这些接口实现集合如:LinkedList HashSet和TreeSet,集合框架是一个用来代表和操纵集合的同一框架,所有的集合包含如下: 接口:是代表集合的抽象数据类型 实现类:集合接口的实现 算法:排序和搜索,这些算法称为多态 除了集合,这个框架定义了几个Map接口和类,Map里储存的是键值对 Java集合提供了一套性能优良,使用方便
二、集合接口 1.Collection接口 Collection是最基本的集合接口,Java不提供直接继承自collection的类,只提供继承于的子接口(List和set) 2.List接口是一个有序的collection,使用这个接口可以精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为0,而且允许有相同的元素 3.set 与collection有一样的接口,只是行为不同,set不保存重复的元素 4.Map 将唯一的键映射到值 5.Map.Entry 描述一个Map中的一个元素 是一个Map的内部类 6.Enumeration传统的接口和定义的方法已被迭代器取代 三、set和list的区别 1.set接口实例是无序,不重复的数据 list接口实例存储是有序可以重复的元素 2.list和数组类似,可以动态增长<实现类有ArrayList,LinkedList,Vector> 四、ArrayList 1.ArrayList实现了list的接口,可随机访问和遍历元素 2.Java.util中定义了类:向量,栈,字典,哈希表,属性,位集合 五、集合算法 1.集合框架定义了几种算法用于集合和映射,定义为集合类的静态方法 2.集合定义三个静态变量:EMPTY_SET EMPTY_LIST EMPTY_MAP 六、如何使用迭代器 1.遍历一个集合中的元素,显示每个元素 一般遍历数组都采用for循环和增强for 但是还有一种方法采用迭代器遍历集合框架,实现了iterator接口或listiterator接口 2.可以通过循环得到和删除集合的元素listiterator继承了iterator,可以允许遍历列表和修改原 3.遍历ArrayList public class EnumerationTester { public static void main(String[] args) { List<String> list = new ArrayList<String>(); list.add("Hello"); list.add("World"); list.add("HAHAHAHA"); // 第一种遍历方法使用foreach遍历List for (String str : list) { // 也可以改写for(int i=0;i<list.size();i++)这种形式 System.out.println(str); } // 第二种遍历,把链表变为数组相关的内容进行遍历 String[] strArray = new String[list.size()]; list.toArray(strArray); for (int i = 0; i < strArray.length; i++) // 这里也可以改写为 foreach(String str:strArray)这种形式 { System.out.println(strArray[i]); } // 第三种遍历 使用迭代器进行相关遍历 Iterator<String> ite = list.iterator(); while (ite.hasNext())// 判断下一个元素之后有值 { System.out.println(ite.next()); } } }