2019-08-16 Day15 java學(xué)習(xí)9

知識點(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());
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容