(一)、集合 Collection
-
1.向集合中添加一個(gè)元素
Collection<String> t1 = new ArrayList();
t1.add("Jack");
t1.add("Merry");
System.out.println(t1);
實(shí)際效果:

效果圖1.png
-
2.向集合中刪除一個(gè)元素
t1.remove("Jack");
System.out.println(t1);
實(shí)際效果:

效果圖1.png
-
3.向集合中獲取元素的個(gè)數(shù)
System.out.println(t1.size());
實(shí)際效果:

效果圖1.png
-
4.判斷集合中是否有某個(gè)元素
if(t1.contains("Merry")){
System.out.println("有Merry");
}else {
System.out.println("無Merry");
}
實(shí)際效果:

效果圖1.png
-
5.判斷集合是否為空
if(t1.isEmpty()){
System.out.println("是空的");
}else{
System.out.println("不是空的");
}
實(shí)際效果:

效果圖1.png
-
6.判斷兩個(gè)集合是否相同
Collection<String> t2 = new ArrayList<>();
t2.add("Jack");
t2.add("Merry");
if(t1.equals(t2)){
System.out.println("兩個(gè)集合相同");
}else{
System.out.println("兩個(gè)集合不相同");
}
實(shí)際效果:

效果圖1.png
-
7.清空一個(gè)集合
t1.clear();
System.out.println(t1);
實(shí)際效果:

效果圖1.png
-
8.集合的遍歷
- 使用Iterator來遍歷
- hasNext 判斷是否有元素
- next 獲取下一個(gè)對(duì)象
- remove 刪除當(dāng)前遍歷過后的對(duì)象
- 注意:遍歷過程中不要進(jìn)行修改
Iterator iterator = t2.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
實(shí)際效果:

效果圖1.png
(二)、ArrayList用法
-
1.添加數(shù)據(jù).(兩種方式)
ArrayList<Integer> score = new ArrayList<>();
score.add(2);
score.add(2);//在末尾添加
score.add(0,1);//指定位置插入
System.out.println(score);
實(shí)際效果

效果圖.png
-
2.訪問特定元素
System.out.println(score.get(1));
實(shí)際效果

效果圖.png
-
3.修改一個(gè)元素
score.set(0,0);
System.out.println(score);
實(shí)際效果

效果圖.png
-
4.刪除指定位置的元素
score.remove(0);//刪除指定的元素
System.out.println(score);
score.remove((Integer)2);//刪除指定的元素
System.out.println(score);
實(shí)際效果

效果圖.png
-
5.刪除所有元素
score.clear();//刪除所有
System.out.println(score);
實(shí)際效果

效果圖.png
-
6.將一個(gè)集合里面的內(nèi)容添加到當(dāng)前集合中
ArrayList<Integer> a2 = new ArrayList<>();
a2.add(1);
a2.add(2);
a2.add(3);
score.addAll(a2);
System.out.println(score);
實(shí)際效果

效果圖.png
-
7.取兩個(gè)集合的交集
ArrayList<Integer> a3 = new ArrayList<>();
a3.add(1);
a3.add(2);
score.retainAll(a3);
System.out.println(score);
實(shí)際效果

效果圖.png
-
8.訪問某個(gè)對(duì)象在集合里面的索引
ArrayList<Integer> a4 = new ArrayList<>();
a4.add(1);
a4.add(2);
a4.add(2);
a4.add(1);
System.out.println(a4.indexOf(1));//第一次出現(xiàn)的位置
System.out.println(a4.lastIndexOf(1));//最后一次出現(xiàn)的位置
實(shí)際效果

效果圖.png
-
9. 獲取集合某個(gè)范圍類的子集合
List<Integer> integers =a4.subList(1,3);
System.out.println(integers);
實(shí)際效果

效果圖.png
(三) 使用Lambda表達(dá)式
- 如果參數(shù)是一個(gè)接口對(duì)象,且接口里面只有一個(gè)方法
- 可以省略方法名
public class Myclass {
public static void main(String[] args) {
ArrayClass ac = new ArrayClass();
int[] num = {1,2,3,4,5,6};
ac.test(num,(int element)->{System.out.println(element);} );
}
}
class ArrayClass{
public void test(int[] target,Show s ){
for(int element:target){
s.customShow(element);
}
}
}
interface Show{
void customShow(int element);
}
實(shí)際效果

效果圖.png
- 優(yōu)勢(shì):不需要在創(chuàng)建一個(gè)對(duì)象實(shí)現(xiàn)接口方法,使得代碼更加簡(jiǎn)單
(四)今日感受:
這兩天學(xué)的東西很多,需要好好的整理一下,畢竟都是幾個(gè)對(duì)象所含有的方法,必須熟練的掌握才能在后面的學(xué)習(xí)中更加輕松,每一天都感覺很累,但同樣的也很充實(shí)。