thinking in java -第11章持有对象-练习4 -补充(2012-08-25 20:15)
源码
1 package collection.test; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 import java.util.List; 6 7 public class MusicGenerator { 8 private List<String> musicList = new ArrayList<String>(); 9 private Iterator<String> iterator; 10 11 public MusicGenerator(List<String> list) { 12 musicList.addAll(list); 13 iterator = musicList.iterator(); 14 } 15 public String next() { 16 17 if (iterator.hasNext()) { 18 return iterator.next(); 19 } else { 20 iterator = musicList.iterator(); 21 return iterator.next(); 22 } 23 } 24 }
工具类
1 package collection.test; 2 3 import java.util.Collection; 4 import java.util.Map; 5 6 public class FillCollection { 7 public static Collection<String> fill(Collection<String> collection, 8 String musicName) { 9 collection.add(musicName); 10 return collection; 11 12 } 13 14 public static Map<String, String> fill(Map<String, String> map, 15 String musicName) { 16 map.put("name" + "_" + musicName, musicName); 17 return map; 18 19 } 20 }
测试
View Code
package collection.test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; public class TestGeneratorMusic { private static List<String> arrayList = new ArrayList<String>(); private static List<String> linkedList = new LinkedList<String>(); private static Set<String> hashSet = new HashSet<String>(); private static Set<String> linkedHashSet = new LinkedHashSet<String>(); private static Map<String, String> map = new HashMap<String, String>(); public static void main(String[] args) { MusicGenerator generator = new MusicGenerator(Arrays.asList("as long ", "baby", "say goodbye")); for (int i = 0; i < 10; i++) { FillCollection.fill(arrayList, generator.next()); FillCollection.fill(linkedList, generator.next()); FillCollection.fill(hashSet, generator.next()); FillCollection.fill(linkedHashSet, generator.next()); FillCollection.fill(map, generator.next()); } System.out.println(arrayList); System.out.println(linkedList); System.out.println(hashSet); System.out.println(linkedHashSet); System.out.println(map); } }


浙公网安备 33010602011771号