【ThinkingInJava】21、关于Collection和Iterator在java中是一起绑定的
2015-05-03 20:22
507 查看
/** * 书本:《Thinking In Java》 * 功能:关于Collection和Iterator在java中是一起绑定的 * 文件:InterfaceVsIterator.java * 时间:2015年4月8日18:09:30 * 作者:cutter_point */ package Lesson11holdingyourobjects; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Set; import Lesson14TypeInformation.pets.Pet; import Lesson14TypeInformation.pets.Pets; public class InterfaceVsIterator { public static void display(Iterator<Pet> it) { while(it.hasNext()) { Pet p = it.next(); System.out.print(p.id() + " : " + p + " "); } System.out.println(); System.out.println("-----------------------------iterator---------------------------------"); } public static void display(Collection<Pet> pets) { for(Pet p : pets) System.out.print(p.id() + " : " + p + " "); System.out.println(); System.out.println("-----------------------------Coolection---------------------------------"); } public static void main(String [] args) { List<Pet> petList = Pets.arrayList(8); System.out.println("这个宠物集合显示:" + petList); Set<Pet> petSet = new HashSet<Pet>(petList); Map<String, Pet> petMap = new LinkedHashMap<String, Pet>(); String[] names = ("Ralph, Eric, Robin, Lacey, " + "Britney, Sam, Spot, Fluffy").split(", "); for(int i = 0; i < names.length; ++i) petMap.put(names[i], petList.get(i)); InterfaceVsIterator.display(petList); InterfaceVsIterator.display(petSet); InterfaceVsIterator.display(petList.iterator()); InterfaceVsIterator.display(petSet.iterator()); System.out.println("这个map的显示" + petMap); System.out.println("这个key的显示" + petMap.keySet()); InterfaceVsIterator.display(petMap.values()); InterfaceVsIterator.display(petMap.values().iterator()); } } /* * 这个宠物集合显示:[Rat, Manx, Cymric, Mutt, Pug, Cymric, Pug, Manx] 0 : Rat 1 : Manx 2 : Cymric 3 : Mutt 4 : Pug 5 : Cymric 6 : Pug 7 : Manx -----------------------------Coolection--------------------------------- 2 : Cymric 1 : Manx 0 : Rat 6 : Pug 5 : Cymric 4 : Pug 3 : Mutt 7 : Manx -----------------------------Coolection--------------------------------- 0 : Rat 1 : Manx 2 : Cymric 3 : Mutt 4 : Pug 5 : Cymric 6 : Pug 7 : Manx -----------------------------iterator--------------------------------- 2 : Cymric 1 : Manx 0 : Rat 6 : Pug 5 : Cymric 4 : Pug 3 : Mutt 7 : Manx -----------------------------iterator--------------------------------- 这个map的显示{Ralph=Rat, Eric=Manx, Robin=Cymric, Lacey=Mutt, Britney=Pug, Sam=Cymric, Spot=Pug, Fluffy=Manx} 这个key的显示[Ralph, Eric, Robin, Lacey, Britney, Sam, Spot, Fluffy] 0 : Rat 1 : Manx 2 : Cymric 3 : Mutt 4 : Pug 5 : Cymric 6 : Pug 7 : Manx -----------------------------Coolection--------------------------------- 0 : Rat 1 : Manx 2 : Cymric 3 : Mutt 4 : Pug 5 : Cymric 6 : Pug 7 : Manx -----------------------------iterator--------------------------------- */
//: typeinfo/pets/Pet.java package Lesson14TypeInformation.pets; public class Pet extends Individual { public Pet(String name) { super(name); } public Pet() { super(); } } ///:~
//: typeinfo/pets/Pets.java // Facade to produce a default PetCreator. package Lesson14TypeInformation.pets; import java.util.*; public class Pets { public static final PetCreator creator = new LiteralPetCreator(); public static Pet randomPet() { return creator.randomPet(); } public static Pet[] createArray(int size) { return creator.createArray(size); } public static ArrayList<Pet> arrayList(int size) { return creator.arrayList(size); } } ///:~
相关文章推荐
- java4Android(21)类集框架->Collection and Iterator(hasNext方法和next方法)
- HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
- Java-Collection源码分析(二)——Iterator和ListIterator
- Java Collection Iterable Iterator
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- 【java读书笔记】——Collection集合之六大接口(Collection、Set、List、Map、Iterator和Comparable)
- 疯狂java学习笔记1030---Collection、Iterator接口和Set接口
- 关于flex绑定java 传回来的自定义List
- java关于for,foreach,iterator循环ArrayList的方式测试
- 一些关于 Iterator 与 多态 与 Collection 与 Iterable 的联系 总结 (Iterator 与 多态 可以解释为什么说 iterator方法中有多态存在)
- HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
- java collection Iterator的remove()方法
- Java_容器_Collection_Iterator接口
- Java学习之容器上(Collection接口常用方法,Iterator接口,使用foreach循环遍历Collection集合元素,Set集合通用知识(Hashset类,hashcode()与LinkedHashSet类))
- 关于Collection.sort和java的枚举
- java中关于Collection和Map相关的类&接口之间的关系
- HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
- HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
- Java容器Collection与迭代器Iterator
- java--collection和Iterator