java学习笔记jdk6课件 第13章

上传人:第*** 文档编号:49584331 上传时间:2018-07-31 格式:PPT 页数:25 大小:218.50KB
返回 下载 相关 举报
java学习笔记jdk6课件 第13章_第1页
第1页 / 共25页
java学习笔记jdk6课件 第13章_第2页
第2页 / 共25页
java学习笔记jdk6课件 第13章_第3页
第3页 / 共25页
java学习笔记jdk6课件 第13章_第4页
第4页 / 共25页
java学习笔记jdk6课件 第13章_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《java学习笔记jdk6课件 第13章》由会员分享,可在线阅读,更多相关《java学习笔记jdk6课件 第13章(25页珍藏版)》请在金锄头文库上搜索。

1、第13章 对象容器 Collection类 Map类简介List界面 List界面是java.util.Collection接口的子接口 Collection界面是java.lang.Iterable子界面 在Java SE的API中找不到任何实作Iterator的类别 Iterator会根据实际的容器数据结构来迭代元素 而容器的数据结构实作方式对外界是隐藏的package java.lang; import java.util.Iterator; public interface Iterable Iterator iterator(); 简介List界面 Collection界面继承了It

2、erator界面 package java.util; public interface Collection extends Iterable int size();boolean isEmpty();boolean contains(Object o);Iterator iterator();T toArray(T a);boolean add(E o);boolean remove(Object o);boolean containsAll(Collection c);boolean addAll(Collection c);boolean removeAll(Collection c)

3、;boolean retainAll(Collection c);void clear();boolean equals(Object o);int hashCode(); 简介List界面 每个加入List中的元素是循序加入的,并可 指定索引来存取元素package java.util; public interface List extends Collection boolean addAll(int index, Collection c);E get(int index);E set(int index, E element);void add(int index, E elemen

4、t);E remove(int index);int indexOf(Object o);int lastIndexOf(Object o);List subList(int fromIndex, int toIndex);简介List界面 List可以使用数组(Array)或是链结串行( LinkedList)来实作这个特性 对于循序加入与存取,使用ArrayList的效率 比较好 对于经常变动元素排列顺序的需求,使用 LinkedList会比较好ArrayList 使用数组结构实作List数据结构 可以使用索引来快速指定对象的位置 于快速的随机取得对象来说,使用ArrayList 可以得到

5、较好的效能 若要从中间作移除或插入对象的动作,会 需要搬动后段的数组元素以重新调整索引 顺序,所以速度上就会慢的多ArrayListScanner scanner = new Scanner(System.in);List list = new ArrayList();System.out.println(“输入名称(使用quit结束)“);while(true) System.out.print(“# “);String input = scanner.next();if(input.equals(“quit“)break;list.add(input);System.out.print(“

6、显示输入: “);for(int i = 0; i linkedList;public StringStack() linkedList = new LinkedList();public void push(String name) /将元素加入串行前端linkedList.addFirst(name);public String top() /取得串行第一个元素return linkedList.getFirst();public String pop() /移出第一个元素return linkedList.removeFirst();public boolean isEmpty() /串

7、行是否为空return linkedList.isEmpty();LinkedListprivate LinkedList linkedList;public StringQueue() linkedList = new LinkedList();public void put(String name) linkedList.addFirst(name);public String get() return linkedList.removeLast();public boolean isEmpty() return linkedList.isEmpty();HashSet 实作了java.u

8、til.Set界面,Set界面继承了 Collection界面 List容器中的对象允许重复,但Set容器中 的对象都是唯一的 Set容器有自己的一套排序规则 HashSet容器中的对象是否相同时,会先比 较hashCode()方法传回的值是否相同,如 果相同,则再使用equals()方法比较,如果 两者都相同,则视为相同的对象HashSetSet set = new HashSet();set.add(“caterpillar“);set.add(“momor“);set.add(“bush“);/故意加入重复的对象set.add(“caterpillar“);/使用Iterator显示对象

9、Iterator iterator = set.iterator();while(iterator.hasNext() System.out.print(iterator.next() + “ “);System.out.println();HashSetSet set = new LinkedHashSet();set.add(“caterpillar“);set.add(“momor“);set.add(“bush“);/使用enhanced for loop显示对象for(String name : set) System.out.print(name + “ “);System.out

10、.println();TreeSet TreeSet实作Set界面与java.util.SortedSet 界面 TreeSet是JavaSE中唯一实作SortedSet接 口的类别 自动依字典顺序进行排列的动作TreeSetSet set = new TreeSet();set.add(“justin“);set.add(“caterpillar“);set.add(“momor“);/使用enhanced for loop显示对象for(String name : set) System.out.print(name + “ “);System.out.println();TreeSet

11、自定义一个实作Comparator接口的类别public class CustomComparator implements Comparator public int compare(T o1, T o2) if (T) o1).equals(o2)return 0;return (Comparable) o1).compareTo(T) o2) * -1; Comparator comparator =new CustomComparator();Set set =new TreeSet(comparator);HashMap Map的特性即键-值(Key-Value)匹配 java.ut

12、il.HashMap实作了Map界面, HashMap在内部实作使用哈希(Hash), 很快的时间内可以寻得键-值匹配HashMapMap map =new HashMap();String key1 = “caterpillar“;String key2 = “justin“;map.put(key1, “caterpillar的讯息“);map.put(key2, “justin的讯息“);System.out.println(map.get(key1);System.out.println(map.get(key2);HashMap 可以使用values()方法返回一个实作 Collec

13、tion的对象,当中包括所有的值 对象Map map =new HashMap();map.put(“justin“, “justin的讯息“);map.put(“momor“, “momor的讯息“);map.put(“caterpillar“, “caterpillar的讯息“);Collection collection = map.values();Iterator iterator = collection.iterator();while(iterator.hasNext() System.out.println(iterator.next();System.out.println

14、();HashMapMap map =new LinkedHashMap();map.put(“justin“, “justin的讯息“);map.put(“momor“, “momor的讯息“);map.put(“caterpillar“, “caterpillar的讯息“);for(String value : map.values() System.out.println(value);TreeMap java.util.TreeMap实作Map界面与 java.util.SortedMap界面 SortedMap提供相关的方法让您有序的取出 对应位置的对象,像是firstKey()、l

15、astKey() 等方法 TreeMap是JavaSE中唯一实作SortedMap 接口的类别TreeMapMap map =new TreeMap();map.put(“justin“, “justin的讯息“);map.put(“momor“, “momor的讯息“);map.put(“caterpillar“, “caterpillar的讯息“);for(String value : map.values() System.out.println(value);TreeMap 如果对对象有一套排列顺序,要定义一个 实作java.util.Comparator接口的对象CustomComparator comparator =new CustomComparator();Map map =new TreeMap(comparator);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号