JAVA集合與lambda表達(dá)式

(一)、集合 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í)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Java集合類可用于存儲(chǔ)數(shù)量不等的對(duì)象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 2,091評(píng)論 0 13
  • 今日任務(wù) 1、集合框架繼承體系(理解)2、Collection接口介紹(掌握常用Collection方法)3、迭代...
    Villain丶Cc閱讀 992評(píng)論 0 12
  • 四、集合框架 1:String類:字符串(重點(diǎn)) (1)多個(gè)字符組成的一個(gè)序列,叫字符串。生活中很多數(shù)據(jù)的描述都采...
    佘大將軍閱讀 878評(píng)論 0 2
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,876評(píng)論 0 3
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,675評(píng)論 1 32

友情鏈接更多精彩內(nèi)容