知識點(diǎn)
數(shù)組:可以存儲(chǔ)多個(gè)對象
例:
- int[] score ={1,2,3}
- int[] score = new int[]
弊端:數(shù)組的長度不可變 內(nèi)容可變
實(shí)際開發(fā)中需要一個(gè)能夠隨時(shí)改變的素組 -> 集合
Collection
抽象接口 定義集合的相關(guān)操作
List 列表 數(shù)組 特點(diǎn):有序 可重復(fù)
- ArrayList
*LinkerArrayList
Set “集合” 特點(diǎn):無序 不重復(fù)
Map接口 Key-Value 隱射關(guān)系 鍵值對 鍵不能相同 值可以相同
- 集合的元素是可變的
- 添加元素
- add addall
- 刪除元素
- remove
- 獲取元素個(gè)數(shù)
- size
- 插入元素
- 是否包含某個(gè)元素
- contains
- 是否為空
- isEmpty
- 集合?比較
- equals
- 訪問元素
- 清空
- clear
List接口 extends Collection
ArrayList
LinkArrayList
集合里面只能存放對象
bite char int long float doublie boolean
包裝類 Byte Char Integer Long Float Double Boolean
自動(dòng)將基本數(shù)據(jù)類型包裝為對應(yīng)的類
技術(shù)的使用
Collection接口的方法
Collection<String> t1 = new ArrayList();
t1.add("Jack");
t1.add("Merry");
System.out.println(t1);
刪除一個(gè)對象
t1.remove("Jack");
System.out.println(t1);
獲取元素個(gè)數(shù)
System.out.println(t1.size());
判斷是否包含一個(gè)元素
if(t1.contains("Merry"))
{
System.out.println("有Merry");
}
else{
System.out.println("無Merry");
}
判斷是否為空
if(t1.isEmpty()){
System.out.println("是空的");
}
判斷倆集合是否相同
Collection<String> t2 = new ArrayList<>();
t2.add("Merry");
t2.add("Jack");
if(t1.equals(t2)){
System.out.println("兩個(gè)集合相同");
}
else {
System.out.println("兩個(gè)集合不相同");
}
清空
t1.clear();
System.out.println(t1);
集合的遍歷
//1.使用Iterator來遍歷
//hasNext 判斷是否有元素
//next 獲取下一個(gè)對象
//remov 刪除當(dāng)前遍歷過后的對象
System.out.println("------------");
Iterator iterator = t2.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
// while (iterator.next() !=null){
// System.out.println(iterator.next());
// }
//2. for-each 增強(qiáng)的for循環(huán) 快速循環(huán)
System.out.println("------------");
for (String obj: t2){
System.out.println(obj);
}
//3. for-i
for(int i = 0; i < t2.size();i++ ){
System.out.println(((ArrayList<String>) t2.);
}
ArrayList<Integer> score = new ArrayList<>();
score.add(2);
score.add(3);//在某位添加
score.add(0,1);//在指定位置加入
System.out.println(score);
訪問指定元素
score.get(1);
刪除指定位置的元素
score.remove(0);
System.out.println(score);
score.remove((Integer)2);//刪除指定元素
System.out.println(score);
score.clear();
System.out.println(score);
取交集
ArrayList<Integer> a3 = new ArrayList<>();
a3.add(1);
a3.add(2);
score.retainAll(a3);//取交集
System.out.println(score);
訪問某個(gè)對象在集合里面的索引
ArrayList<Integer> a4 = new ArrayList<>();
a4.add(1);
a4.add(2);
a4.add(2);
a4.add(1);
System.out.println(a4.indexOf(1));//第一次的位置
System.out.println(a4.lastIndexOf(1));//最后一次出現(xiàn)的位置
將ArrayList轉(zhuǎn)化為普通數(shù)組
Integer[] objects = new Integer[a4.size()];
a4.toArray(objects);
Iterator iterator = a4.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}