java中: list、set、map集合的常用方法總結

1..Map<Integer, String> userMap = new HashMap<>();
    userMap.size()
    userMap.put(key,value)
    //得到map實例中所有的value,返回值類型爲Collection
    Collection<T> values = map.values();
   //獲取map實例中所有的鍵(key),返回值類型爲Set
    Set set = map.keySet();
   map.get();//形參爲key的名字
  方法作用:通過鍵(key)的名字獲取和鍵相匹配的值(方法映射),如果key或者value爲空,則返回null;
  Object o = map.get(key);
  map.remove()//形參爲key
  方法作用:根據key移除map中的與該key對應的value
  //移除key爲1的鍵值
   map.remove("1");//移除後,map的size值減1
   map.clear();//形參爲空,返回值爲空
   方法作用:清空Map集合中所有的鍵值
   結果:map的size值爲0

   map.putAll()//形參爲map集合
   方法作用:把一個map集合合併到另一個map集合裏
HashMap是的key是不能重複的,如果有相同的key,最後一個key對應的value會把前一個相同的value覆蓋掉

2.List<DisplayDTO> list = new ArrayList<>();
    list.size()//集合容量
    list.add(E element)//添加元素
    list.add(int index, E element);在指定位置添加元素,前提是索引index不可大於list.size()
    list.get(index)獲取指定位置的元素,下標從0開始(插入元素有順序)
    list.remove(7);// 根據集合中元素下標位置來刪除元素
    list.toArray,可以將list轉化爲array,jdk中提供:
     toArray有兩個重載的方法:
  (1)list.toArray();//對於第一個重載方法,是將list直接轉爲Object[] 數組;
  (2)list.toArray(T[]  a);//第二種方法是將list轉化爲與list內容相同的類型
    例:第二種方法示例:String[] array =new String[list.size()];
                    list.toArray(array);
    當把list轉爲array時,需要去除重複元素,可以把list先轉化爲set,再把set轉化爲array

    list.isEmpty()與list != null的區別:
    list.isEmpty();//判斷list集合裏有沒有元素,list != null判斷是否存在該list集合
    例: System.out.println(list.isEmpty());//false
        System.out.println(null!=list);//true

    subList(var1,var2)方法,內有兩個參數:返回一個子集合:從下標var1開始取元素至下標小於var2的所有元素(即:var1 <= 滿足下標 <var2,左閉右開),list集合下標是從0開始。
     //從list集合中去除指定下標的元素。
     list.subList(1,3).clear();

    //addAll()方法,向一個集合中添加另一個集合全部元素
    boolean addAll(Collection<? extends E> c);
    boolean addAll(int index, Collection<? extends E> c);//可以指定插入位置
    addAll方法中的集合c不可以傳入null值,否則會有異常,該方法沒有線程安全的設置,當傳入的參數c正在被另一個線程操作時,其結果是不確定的。

3.Set<String> ss=new HashSet<String>();   
   set數組是一個不包含重複元素,(插入元素沒有順序)無序的元素的集合。
   set.size()表示set集合中元素個數
   因爲Set沒有下標也沒有key,所以沒有修改的方法
   set數組中不存在get()方法;
   往set中添加元素使用的是add(element)方法,但是在set中沒有add(index , element)方法。 
   mySet.remove("a"); //刪除數組中的"a"元素
   set_a.removeAll (set_b).   //從set_a中刪除集合set_b中所有元素,即批量刪除
   mySet.isEmpty();   //判斷數組是否爲空
   mySet.clear();    //清除數組中的所有內容,set.size()爲0

部分代碼驗證:

public class TestList {

    @Test
    public void testListTranslateToSet () {
        List<Integer> listTest = new ArrayList<>();
        listTest.add(1);
        listTest.add(2);
        listTest.add(3);
        listTest.add(5);
        listTest.add(6);
        listTest.add(7);
        listTest.add(6);
        listTest.add(3);

        System.out.println("去重前:");
        for (Integer item : listTest) {
            System.out.print("  "+item);
        }
        System.out.println();//1  2  3  5  6  7  6  3

        System.out.println("去重中:");
        Set<Integer> testSet = new HashSet(listTest);
        for (Integer item : testSet){
            System.out.print("  "+item);
        }
        System.out.println();//1  2  3  5  6  7

        System.out.println("去重後:");
        List<Integer> list = new ArrayList<>(testSet);
        for (Integer item : list) {
            System.out.print("  "+item);
        }
        System.out.println();//1  2  3  5  6  7


        List<Integer> testList2 = new ArrayList<>();
        testList2.add(11);
        testList2.add(12);
        testList2.add(13);
        list.addAll(testList2);
        System.out.println("添加:");
        for (Integer item : list) {
            System.out.print("  "+item);
        }
        System.out.println();//1  2  3  5  6  7  11  12  13

        Map<Integer, String> mapTest = new HashMap<>();
        mapTest.put(1, "測試1");
        mapTest.put(2, "測試2");
        mapTest.put(3, "測試3");
        mapTest.put(4, "測試4");
        mapTest.put(5, "測試5");
        Set<Integer> keySet = mapTest.keySet();
        Collection<String> valueCollection = mapTest.values();
        System.out.println("map中單獨獲取value的List");
        for (String item : valueCollection) {
            System.out.println(item);
        }
        System.out.println();//測試1 測試2 測試3 測試4 測試5

        System.out.println("map中利用keySet遍歷value");
        for (Integer item : keySet) {
            System.out.println(mapTest.get(item));
        }
        System.out.println();//測試1 測試2 測試3 測試4 測試5

        Map<Integer, String> mapTest2 = new HashMap<>();
        mapTest2.put(4, "測試16");
        mapTest2.put(5, "測試17");
        mapTest2.put(6, "測試18");
        mapTest2.put(7, "測試19");
        mapTest2.put(8, "測試20");
        mapTest2.putAll(mapTest);
        for (Map.Entry<Integer, String> item : mapTest2.entrySet()) {
            System.out.print("key:" + item.getKey()  + "  ");
            System.out.print("value:" + item.getValue());
            System.out.print(";");
        }
        System.out.println();
        //key:1  value:測試1;key:2  value:測試2;key:3  value:測試3;key:4  value:測試4;key:5  value:測試5;key:6  value:測試18;key:7  value:測試19;key:8  value:測試20;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章