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 }

 

posted @ 2020-11-22 09:45  丁帅帅dss  阅读(79)  评论(0)    收藏  举报