java集合框架
1 //Collection:存储数据是不唯一的,无序的对象 2 //List 存储数据是唯一的,有序的对象 3 //Set存储数据是唯一的,无序的对象 4 //唯一:不能重复 5 //有序:不是排序;是输入顺序 是否与 输出顺序一致的。 6 7 package col; 8 9 import java.util.ArrayList; 10 import java.util.HashSet; 11 import java.util.LinkedList; 12 13 public class Demo1 { 14 15 public static void main(String[] args) { 16 //由于 Collection 是接口,不能对其实例化,所以使用了 Collection 接口的 ArrayList 实现类来调用 Collection 的方法。 17 ArrayList list=new ArrayList();//动态数组 18 list.add("中国"); 19 list.add("美国"); 20 list.add("俄罗斯"); 21 list.add("日本"); 22 System.out.println(list); 23 list.remove("中国"); 24 System.out.println(list); 25 System.out.println(list.indexOf("日本")); 26 27 LinkedList list2=new LinkedList();//链表 28 list2.add("hello"); 29 list2.add("world"); 30 list2.addFirst("wh"); 31 System.out.println(list2); 32 33 HashSet set=new HashSet(); 34 set.add(1); 35 set.add(3); 36 set.add(2); 37 System.out.println(set); 38 39 } 40 41 } 42 43 package col; 44 45 import java.util.Collection; 46 import java.util.HashMap; 47 import java.util.Set; 48 49 public class Demo2 { 50 51 public static void main(String[] args) { 52 HashMap map=new HashMap(); 53 map.put("s01", "张三");//key:学号 ,value:姓名 54 map.put("s02", "李四"); 55 map.put("s03", "王二"); 56 map.put("s04", "麻子"); 57 System.out.println(map); 58 Object v=map.get("s01"); 59 System.out.println(v); 60 System.out.println(map.size()); 61 //判断是否 包含了指定的key 62 System.out.println(map.containsKey("s01")); 63 //判断是否 包含了指定的value 64 System.out.println( map.containsValue("王五")); 65 //将map转为单值集合 66 //转为只包含了key的单值集合 67 Set set=map.keySet(); 68 System.out.println(set); 69 70 //转为只包含了value的单值集合 71 Collection values=map.values(); 72 System.out.println(values); 73 /*map中的key是唯一的;value是不唯一的 74 删除: 75 Collection中的类(List、Set),删除的返回值是 boolean; 76 Map中的类,是根据Key删除,返回值是value*/ 77 Object a=map.remove("s01"); 78 System.out.println(map); 79 System.out.println(a); 80 81 } 82 83 } 84 85 //遍历集合 list set map 86 //1)循环for(普通for[只适用于‘有序’的集合],增强for[建议]) 87 //2)迭代器 88 package col; 89 90 import java.util.*; 91 92 public class Demo3 { 93 94 public static void main(String[] args) { 95 List list = new ArrayList(); 96 list.add("aa"); 97 list.add("bb"); 98 list.add("cc"); 99 // 普通for 100 for (int i = 0; i < list.size(); ++i) { 101 System.out.println(list.get(i)); 102 } 103 System.out.println("增强for"); 104 // 增强for 105 for (Object o : list) { 106 System.out.println(o); 107 } 108 109 Set set = new HashSet(); 110 set.add("A"); 111 set.add("b"); 112 set.add(1); 113 set.add("D"); 114 // 普通for,不适用于 “无序”的集合 115 for (Object e : set) { 116 System.out.println(e); 117 } 118 System.out.println("迭代器"); 119 Iterator iterator = set.iterator(); 120 while (iterator.hasNext()) { 121 Object o = iterator.next(); 122 System.out.println(o); 123 } 124 //遍历map:将双值集合 ,转为单值集合。 125 //map -> keySet 126 //map->values 127 128 System.out.println("遍历map..."); 129 Map map = new HashMap(); 130 map.put(001, "张三"); 131 map.put(002, "李四"); 132 map.put(003, "王二"); 133 Set set1 = map.keySet();// 将双值集合降成单值集合 134 for (Object o : set1) { 135 System.out.println("key:" + o); 136 Object v = map.get(o);// map可以根据key,获取value; map.get(key) ->value 137 System.out.println("value:" + v); 138 } 139 /*Collection values1 = map.values(); 140 Iterator iterator1 = values1.iterator(); 141 while (iterator1.hasNext()) { 142 System.out.println("value: " + iterator1.next()); 143 }*/ 144 System.out.println("通过entry遍历..."); 145 Set entries=map.entrySet(); 146 for(Object e:entries) { 147 Map.Entry et=(Map.Entry)e; 148 Object k=et.getKey(); 149 Object v=et.getValue(); 150 System.out.println("k-"+k); 151 System.out.println("v-"+v); 152 } 153 154 } 155 156 }
道阻且长,行则将至