java集合之List總結
阿新 • • 發佈:2018-11-29
主要驗證一下List集合的常用操作:
- 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) } }
結果如下:
- list中是否包含某個元素;
方法:.contains(Object o); 返回true或者false
person.contains("peter")
- list中根據索引將元素數值改變(替換);
注意 .set(index, element); 和 .add(index, element); 的不同;
.add是在指定索引出插入元素,set是設定指定索引處元素值。
person.set(1,"hello");
下圖展示了add前後元素的區別。
-
list中檢視(判斷)元素的索引;
注意:.indexOf(); 和 lastIndexOf()的不同; -
根據元素索引位置進行的判斷;
- 利用list中索引位置重新生成一個新的list(擷取集合);
方法: .subList(fromIndex, toIndex); .size() ; 該方法得到list中的元素數的和
-
對比兩個list中的所有元素;
-
判斷list是否為空;
if (person.isEmpty()) {
System.out.println("空的");
}else {
System.out.println("不是空的");
}
- 返回Iterator集合物件;
Iterator<String> it=person.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
13. 將集合轉換為字串;
person.toString();
- 將集合轉換為陣列;
System.out.println(“將集合轉換為陣列:”+person.toArray());
- 集合型別轉換;
//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));
}
- 去重複
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);