2019-08-16 Day15 java学习9

知识点

数组:可以存储多个对象

例:

  • int[] score ={1,2,3}
  • int[] score = new int[]

弊端:数组的长度不可变 内容可变
实际开发中需要一个能够随时改变的素组 -> 集合

Collection

抽象接口 定义集合的相关操作
List 列表 数组 特点:有序 可重复

  • ArrayList
    *LinkerArrayList

Set “集合” 特点:无序 不重复
Map接口 Key-Value 隐射关系 键值对 键不能相同 值可以相同

  • 集合的元素是可变的
  • 添加元素
  • add addall
  • 删除元素
  • remove
  • 获取元素个数
  • size
  • 插入元素
  • 是否包含某个元素
  • contains
  • 是否为空
  • isEmpty
  • 集合⽐比较
  • equals
  • 访问元素
  • 清空
  • clear

List接口 extends Collection
ArrayList
LinkArrayList

集合里面只能存放对象
bite char int long float doublie boolean
包装类 Byte Char Integer Long Float Double Boolean
自动将基本数据类型包装为对应的类

技术的使用

Collection接口的方法

Collection t1 = new ArrayList();
t1.add("Jack");
t1.add("Merry");
System.out.println(t1);

删除一个对象

t1.remove("Jack");
System.out.println(t1);

获取元素个数

System.out.println(t1.size());

判断是否包含一个元素

    if(t1.contains("Merry"))
    {
        System.out.println("有Merry");
    }
    else{
        System.out.println("无Merry");
    }

判断是否为空

if(t1.isEmpty()){
    System.out.println("是空的");
}

判断俩集合是否相同

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

清空

 t1.clear();
System.out.println(t1);

集合的遍历

    //1.使用Iterator来遍历
    //hasNext 判断是否有元素
    //next 获取下一个对象
    //remov 删除当前遍历过后的对象
        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 增强的for循环 快速循环
        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) t2.);
        }

    
        ArrayList 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 a3 = new ArrayList<>();
    a3.add(1);
    a3.add(2);
    score.retainAll(a3);//取交集
    System.out.println(score);

访问某个对象在集合里面的索引

    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));//最后一次出现的位置

将ArrayList转化为普通数组

    Integer[] objects = new Integer[a4.size()];
    a4.toArray(objects);

    Iterator iterator = a4.iterator();
    while (iterator.hasNext()){
        System.out.println(iterator.next());
    }

你可能感兴趣的:(2019-08-16 Day15 java学习9)