zoukankan      html  css  js  c++  java
  • Java的map和list学习 (1)

    Java中List集合去除重复数据的方法

    原链接地址
    1.通过HashSet除重复元素

    public static List removeDuplicate(List list) {   
        HashSet h = new HashSet(list);   
        list.clear();   
        list.addAll(h);   
        return list;   
    }   

    2.把list里的对象遍历一遍,用list.contain(),如果不存在就放入到另外一个list集合中`

    public static List removeDuplicate(List list){  
            List listTemp = new ArrayList();  
            for(int i=0;i<list.size();i++){  
                if(!listTemp.contains(list.get(i))){  
                    listTemp.add(list.get(i));  
                }  
            }  
            return listTemp;  
        }  

    3.删除ArrayList中重复元素,保持顺序

    // 删除ArrayList中重复元素,保持顺序     
     public static void removeDuplicateWithOrder(List list) {    
        Set set = new HashSet();    
         List newList = new ArrayList();    
       for (Iterator iter = list.iterator(); iter.hasNext();) {    
             Object element = iter.next();    
             if (set.add(element))    
                newList.add(element);    
          }     
         list.clear();    
         list.addAll(newList);    
        System.out.println( " remove duplicate " + list);    
     } 

    Map<string,string>的遍历的四种方法

    
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileReader;
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import java.util.HashSet;
    
    import java.util.Set;
    import java.util.TreeMap;
    
    public class NumCounter {
    
         public static void main(String[] args) throws Exception {
          Map<String, String> map = new HashMap<>();  
          map.put("key1","value1");  
          map.put("key2", "value2");  
          map.put("key3", "value3");  
    
          //第一种:普遍使用,二次取值
          System.out.println("通过Map.keySet遍历key和value:");
          for (String key : map.keySet()) {  
           System.out.println("key= "+ key + " and value= " + map.get(key));  
          }  
    
          //第二种  
          System.out.println("通过Map.entrySet使用iterator遍历key和value:");  
          Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();  
          while (it.hasNext()) {  
           Map.Entry<String, String> entry = it.next();  
           System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());  
          }  
    
          //第三种:推荐,尤其是容量大时</span>  
          System.out.println("通过Map.entrySet遍历key和value");  
          for (Map.Entry<String, String> entry : map.entrySet()) {  
           System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());  
          }  
    
          //第四种  
          System.out.println("通过Map.values()遍历所有的value,但不能遍历key");  
          for (String v : map.values()) {  
           System.out.println("value= " + v);  
          }  
    }
    }

    JAVA中Map的使用

    import java.util.Collection;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    
    public class NumCounter {
    
        public static void main(String[] args) {
    
            Map<String , Student> stu = new HashMap<String, Student>();
    
            //添加元素
            stu.put("0001", new Student("sunming1"));
            stu.put("0002", new Student("sunming2"));
            stu.put("0003", new Student("sunmnig3"));
            System.out.println(stu);
            System.out.println("-------------------------");
    
            //删除元素
            stu.remove("0001");
            System.out.println(stu);
            System.out.println("-------------------------");
    
            //更新元素
            stu.put("0002", new Student("sunmingUpdate"));
            System.out.println(stu);
            System.out.println("-------------------------");
    
            //查询元素
            System.out.println(stu.get("0003"));
            System.out.println("-------------------------");
    
            //获取所有的key和value
            for(Map.Entry<String, Student> entry : stu.entrySet()){
                System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
            }
            System.out.println("-------------------------");
    
            //获取所有的key
            Set<String> keys = stu.keySet();
            for(String key: keys){
                System.out.println(key);
            }
            System.out.println("-------------------------");
    
            //获取所有的value
            Collection<Student> values = stu.values();
            for(Student value: values){
                System.out.println(value);
            }
    
        }
    
    }
    /**
     * Created by SunMing on 2016/9/18.
     */
    public class Student {
    
        private String id;
        private String name;
    
        public Student(String strName) {
            name = strName;
            id = "00";
        }
    
        public String getId() {
            return id;
        }
    
        public void setId(String id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String toString() {
            return id + " " + name + ", ";
        }
    
    }
  • 相关阅读:
    Android studio 中国的垃圾问题解决
    实现一个简单的boot
    代理下载android4.4源代码
    《程序员在第一季度追姐姐的书》——提升自己的形象气质
    第46周四
    Spring单例与线程安全小结
    2014第46周二
    第46周一
    第45周日
    第45周六
  • 原文地址:https://www.cnblogs.com/hitWTJ/p/9865430.html
Copyright © 2011-2022 走看看