1. 程式人生 > >java集合之List總結

java集合之List總結

主要驗證一下List集合的常用操作:


  1. list中新增,獲取,刪除元素;
    新增方法是:.add(e);  獲取方法是:.get(index);  刪除方法是:.remove(index); 按照索引刪除;  .remove(Object o); 按照元素內容刪除;
 List<String> person = new ArrayList<>();
        //增加刪除測試完成
        person.add("jackie");   //索引為0  //.add(e)
        person.add("peter");    //索引為1
        person.add("annie");    //索引為2
        person.add("martin");   //索引為3
        person.add("marry");    //索引為4
        person.remove(3);   //.remove(index)
        person.remove("marry");     //.remove(Object o)

        String per = "";
        per = person.get(1);
        System.out.println(per);    ////.get(index)
        for (int i = 0; i < person.size(); i++) {
            System.out.println(person.get(i));  //.get(index)
        }
    }

結果如下:
在這裡插入圖片描述


  1. list中是否包含某個元素;
    方法:.contains(Object o); 返回true或者false
person.contains("peter")

  1. list中根據索引將元素數值改變(替換);
    注意 .set(index, element); 和 .add(index, element); 的不同;
    .add是在指定索引出插入元素,set是設定指定索引處元素值。
 person.set(1,"hello");

下圖展示了add前後元素的區別。
在這裡插入圖片描述


  1. list中檢視(判斷)元素的索引;
    注意:.indexOf(); 和 lastIndexOf()的不同;

  2. 根據元素索引位置進行的判斷;


  1. 利用list中索引位置重新生成一個新的list(擷取集合);
  方法: .subList(fromIndex, toIndex);  .size() ; 該方法得到list中的元素數的和

在這裡插入圖片描述

  1. 對比兩個list中的所有元素;
    在這裡插入圖片描述

  2. 判斷list是否為空;

if (person.isEmpty()) {
    System.out.println("空的");
}else {
    System.out.println("不是空的");
}
 
  1. 返回Iterator集合物件;
Iterator<String> it=person.iterator();
        while(it.hasNext())
        {
            System.out.println(it.next());
        }

在這裡插入圖片描述
13. 將集合轉換為字串;
person.toString();

  1. 將集合轉換為陣列;
    System.out.println(“將集合轉換為陣列:”+person.toArray());
    在這裡插入圖片描述
  2. 集合型別轉換;
//1.預設型別
List<Object> listsStrings=new ArrayList<>();
  for (int i = 0; i < person.size(); i++) {
    listsStrings.add(person.get(i));
}
//2.指定型別
List<StringBuffer> lst=new ArrayList<>();
  for(String string:person){
  lst.add(StringBuffer(string));
}
  1. 去重複
List<String> lst1=new ArrayList<>();
            lst1.add("aa");
            lst1.add("dd");
            lst1.add("ss");
            lst1.add("aa");
            lst1.add("ss");
 
                   //方法 1.
            for (int i = 0; i <lst1.size()-1; i++) {
                for (int j = lst1.size()-1; j >i; j--) {
                    if (lst1.get(j).equals(lst1.get(i))) {
                        lst1.remove(j);
                    }
                }
            }
            System.out.println(lst1);
             
                   //方法 2.
            List<String> lst2=new ArrayList<>();
            for (String s:lst1) {
                if (Collections.frequency(lst2, s)<1) {
                    lst2.add(s);
                }
            }
            System.out.println(lst2);