JAVA集合与lambda表达式

(一)、集合 Collection

  • 1.向集合中添加一个元素
        Collection t1 = new ArrayList();
        t1.add("Jack");
        t1.add("Merry");
        System.out.println(t1);

实际效果:

效果图1.png

  • 2.向集合中删除一个元素
        t1.remove("Jack");
        System.out.println(t1);

实际效果:

效果图1.png

  • 3.向集合中获取元素的个数
      System.out.println(t1.size());

实际效果:

效果图1.png

  • 4.判断集合中是否有某个元素
       if(t1.contains("Merry")){
            System.out.println("有Merry");
        }else {
            System.out.println("无Merry");
        }

实际效果:

效果图1.png

  • 5.判断集合是否为空
        if(t1.isEmpty()){
            System.out.println("是空的");
        }else{
            System.out.println("不是空的");
        }

实际效果:

效果图1.png

  • 6.判断两个集合是否相同
       Collection t2 = new ArrayList<>();
        t2.add("Jack");
        t2.add("Merry");
        if(t1.equals(t2)){
            System.out.println("两个集合相同");
        }else{
            System.out.println("两个集合不相同");
        }

实际效果:

效果图1.png

  • 7.清空一个集合
        t1.clear();
        System.out.println(t1);

实际效果:

效果图1.png

  • 8.集合的遍历
  • 使用Iterator来遍历
  • hasNext 判断是否有元素
  • next 获取下一个对象
  • remove 删除当前遍历过后的对象
  • 注意:遍历过程中不要进行修改
       Iterator iterator = t2.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }

实际效果:

效果图1.png

(二)、ArrayList用法

  • 1.添加数据.(两种方式)
      ArrayList score = new ArrayList<>();
        score.add(2);
        score.add(2);//在末尾添加
        score.add(0,1);//指定位置插入
        System.out.println(score);

实际效果

效果图.png

  • 2.访问特定元素
      System.out.println(score.get(1));

实际效果

效果图.png

  • 3.修改一个元素
        score.set(0,0);
        System.out.println(score);

实际效果

效果图.png

  • 4.删除指定位置的元素
        score.remove(0);//删除指定的元素
        System.out.println(score);
        score.remove((Integer)2);//删除指定的元素
        System.out.println(score);

实际效果

效果图.png

  • 5.删除所有元素
         score.clear();//删除所有
        System.out.println(score);

实际效果

效果图.png

  • 6.将一个集合里面的内容添加到当前集合中
       ArrayList a2 = new ArrayList<>();
        a2.add(1);
        a2.add(2);
        a2.add(3);
        score.addAll(a2);
        System.out.println(score);

实际效果

效果图.png

  • 7.取两个集合的交集
      ArrayList a3 = new ArrayList<>();
        a3.add(1);
        a3.add(2);
        score.retainAll(a3);
        System.out.println(score);

实际效果

效果图.png

  • 8.访问某个对象在集合里面的索引
    ArrayList 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));//最后一次出现的位置

实际效果

效果图.png

  • 9. 获取集合某个范围类的子集合
        List integers =a4.subList(1,3);
        System.out.println(integers);

实际效果

效果图.png

(三) 使用Lambda表达式

  • 如果参数是一个接口对象,且接口里面只有一个方法
  • 可以省略方法名
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);
}

实际效果

效果图.png

  • 优势:不需要在创建一个对象实现接口方法,使得代码更加简单

(四)今日感受:

这两天学的东西很多,需要好好的整理一下,毕竟都是几个对象所含有的方法,必须熟练的掌握才能在后面的学习中更加轻松,每一天都感觉很累,但同样的也很充实。

你可能感兴趣的:(JAVA集合与lambda表达式)