知識點總結:
一、數組:
聲明:
Object[] arr = new Object[長度];
Object[] arr = {o1,o2,o3};
Object[] arr = new Object[]{o1,o2,o3};
賦值:arr[下標] = 值;
獲取數組長度:arr[下標] = 值;
取值:arr[下標]
普通for循環遍歷for(int i=0;i<arr.length;i++){arr[i];}
foreach
排序:冒泡排序:相鄰兩個元素依次比較,互換位置;
選擇排序:讓未確定的第一個數依次和後面的比較,互換位置;
Arrays.sort(arr); 按照自然升序排列;
特點:長度一旦聲明,不可改變;
二維數組:賦值、遍歷;
二、集合:
特點:可變長度。
Collection接口:
特點:有序、可重複;
實現類ArrayList:
添加:
add(Object obj);
add(int i,Object obj);
addAll(Collection c);
addAll(int i,Collection c);
修改:
set(int i,Object newObj);
刪除:
remove(int i);
remove(Object obj);
removeAll(Collection c);
retainAll(Collection c) 僅在列表中保留指定 collection 中所包含的元素;
clear();
查詢:
get(int i) 根據下標查詢元素,返回元素;
contains(Object obj) 查詢列表中是否包含指定元素,包含返回true;
containsAll(Collection c) 查詢列表中是否包含指定的多個元素,全部包含返回true;
indexOf(Object obj) 查詢指定元素第一次出現的下標,;返回下標索引,沒有該元素返回-1
lastIndexOf(Object obj) 查詢指定元素最後一次出現的;下標,返回下標索引,沒有該元素返回-1
isEmpty() 判斷列表是否爲空,爲空返回true;
序列遍歷:
使用for循環for(int i=0;i<list.size();i++){list.get(i);}
使用foreach循環;
使用iterator迭代器;
it.hasNext() 如果有下一個元素,返回true;
it.next() 返回下一個元素;
it.remove() 刪除迭代器返回的最後一個元素;
其他方法:
獲取長度:size()
subList(int start,int end) 截取集合,從下標start(包含)到下標end(不包含)截取;
toArray() 把列表轉爲數組,返回的是Object[];
補充:
把數組轉爲List集合,Arrays.asList(arr);
子接口:Set
特點:無序、不可重複;
實現類:HashSet
添加:
add(Object obj);
addAll(Collection c);
修改:
set中沒有修改的方法,可以間接修改,先刪除、再添加;
刪除:
remove(Object obj);
removeAll(Collection c);
retainAll(Collection c) 僅保留 set 中那些包含在指定 collection 中的元素;
clear() 清除所有元素;
查詢:
contains(Object obj) 查詢set中是否包含指定元素,包含返回true;
containsAll(Collection c) 查詢set中是否包含指定的多個元素,全部包含返回true;
isEmpty() 判斷set是否爲空,爲空返回true;
遍歷:
使用foreach循環;
使用iterator迭代器;
it.hasNext() 如果有下一個元素,返回true;
it.next() 返回下一個元素;
it.remove() 刪除迭代器返回的最後一個元素;