Java集合框架概述和Collection接口常用方法

Java集合框架概述

  • Java集合也称为容器,可以动态地把多个对象的引用放到容器中

  • 数据存储多个数据的特点:

    • 一旦初始化以后,其长度就确定了
    • 数组一旦定义好,其类型也就确定了,也就只能操作指定类型的数据了,比如String[] arr;int[] arr1
  • 数组存储多个数据的缺点:

    • 一旦初始化后,长度便不可修改
    • 数组中提供的方法有限,效率也不高
    • 获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用
    • 数组存储数据的特点:有序、可重复;对于无序、不可重复的需求,不能满足
  • Java集合类可以用于存储数量不等的多个对象,还可以用于保存具有映射关系的关联数组

  • Java集合可以分为Collection和Map两种体系

    • Collection接口:单列数据,定义了存取一组对象的方法的集合
      • List接口:元素有序、可重复的集合--------相当于“动态”数组
        • 实现类包括ArrayList类、LinkedList类、Vector类
      • Set:元素无序、不可重复的集合
        • 实现类包括hashSet类、LinkedHashSet类、TreeSet类
    • Map接口:双列数据,保存具有映射关系“key-value对”的集合
      • HashMap、LinkedHashMap、TreeMap、Hashtable、Properties

Collection接口方法

  • add(Object e):将数据e添加到集合中
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100+"分");//自动装箱
        coll.add("时间是:"+new Date());
        System.out.println(coll);//[我, learn, java, 100分, 时间是:Wed Nov 18 17:31:20 CST 2020]
    }
}
  • size():获取集合元素个数
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100+"分");//自动装箱
        coll.add("时间是:"+new Date());
        //size():获取集合元素个数
        System.out.println(coll.size());//5
    }
}
  • addAll(Collection coll1):将coll1中的全部元素添加到当前的集合中
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100+"分");//自动装箱
        coll.add("时间是:"+new Date());
        //addAll(Collection coll1):将coll1中的全部元素添加到当前的集合中
        Collection coll1=new ArrayList();
        coll1.add(200);
        coll1.add(300);
        coll1.add("你也是");
        coll.addAll(coll1);
        System.out.println(coll);//[我, learn, java, 100分, 时间是:Wed Nov 18 17:38:09 CST 2020, 200, 300, 你也是]
    }
}
  • coll.clear():清空集合元素
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100+"分");//自动装箱
        coll.add("时间是:"+new Date());
        //addAll(Collection coll1):将coll1中的全部元素添加到当前的集合中
        Collection coll1=new ArrayList();
        coll1.add(200);
        coll1.add(300);
        coll1.add("你也是");
        coll.addAll(coll1);
        System.out.println(coll);
        //clear():清空集合元素
        coll1.clear();
        System.out.println(coll1);//[]
    }
}

  • isEmpty():判断集合是否为空
package www.bh.c.collectiontest;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100+"分");//自动装箱
        coll.add("时间是:"+new Date());
        //addAll(Collection coll1):将coll1中的全部元素添加到当前的集合中
        Collection coll1=new ArrayList();
        coll1.add(200);
        coll1.add(300);
        coll1.add("你也是");
        coll.addAll(coll1);
        System.out.println(coll);
        //clear():清空集合元素
        coll1.clear();
        System.out.println(coll1);
        //isEmpty():判断集合是否为空
        System.out.println(coll1.isEmpty());//true
    }
}
  • contains(Object obj):判断当前集合是否包含元素obj
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        //contains(Object obj):判断当前集合是否包含元素obj
        //判断时会调用obj对象所在类的equals()
        System.out.println(coll.contains("我"));//true
        System.out.println(coll.contains("你"));//false
        System.out.println(coll.contains(new String("我")));//true
    }
}   
  • containsAll(Collection coll1):判断形参coll1中的所有元素是否都在当前集合中
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        //containsAll(Collection coll1):判断形参coll1中的所有元素是否都在当前集合中
        Collection coll1 = Arrays.asList("我","java");
        System.out.println(coll.containsAll(coll1));
    }
}
  • remove(Collection obj):从当前对象中移除obj元素
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        System.out.println(coll);//[我, learn, java, 100分, 时间是:Wed Nov 18 18:01:05 CST 2020]
        //remove(Collection obj):从当前对象中移除obj元素
        coll.remove("时间是:" + new Date());
        System.out.println(coll);//[我, learn, java, 100分]
    }
}
  • removeAll(Collection coll1):差集:从当前集合中移除coll1中的所有元素
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        System.out.println(coll);
        Collection coll1=Arrays.asList("时间是:" + new Date(),"learn");
        //removeAll(Collection coll1):差集:从当前集合中移除coll1中的所有元素
        coll.removeAll(coll1);
        System.out.println(coll);
    }
}
  • retainAll(Collection coll1):交集:获取当前集合与coll1集合的交集,并返回给当前集合
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        System.out.println(coll);//[我, learn, java, 100分, 时间是:Wed Nov 18 18:08:48 CST 2020]
        Collection coll1=Arrays.asList("learn","时间是:" + new Date());
        //retainAll(Collection coll1):交集:获取当前集合与coll1集合的交集,并返回给当前集合
        coll.retainAll(coll1);
        System.out.println(coll);//[learn, 时间是:Wed Nov 18 18:08:48 CST 2020]
    }
}
  • equals():当前集合和形参集合元素都相同时返回true
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        System.out.println(coll);
        Collection coll1=Arrays.asList("learn","时间是:" + new Date());
        //equals():当前集合和形参集合元素都相同时返回true
        System.out.println(coll.equals(coll1));
    }
}
  • hashCode():返回当前对象的哈希值
package www.bh.c.collectiontest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        System.out.println(coll);//[我, learn, java, 100分, 时间是:Wed Nov 18 18:14:23 CST 2020]
        System.out.println(coll.hashCode());//1757655569
    }
}
  • 集合----->数组:toArray()
  • 数组----->集合:调用Arrays类的静态方法asList()
package www.bh.c.collectiontest;

import java.util.*;

public class Test01 {
    public static void main(String[] args) {
        //add(Object e):将数据e添加到集合中
        Collection coll = new ArrayList();
        coll.add("我");
        coll.add("learn");
        coll.add("java");
        coll.add(100 + "分");//自动装箱
        coll.add("时间是:" + new Date());
        //集合----->数组:toArray()
        Object[] arr=coll.toArray();
        for (int i = 0; i <arr.length; i++) {
            System.out.println(arr[i]);//
        }
        //数组----->集合:调用Arrays类的静态方法asList()
        List<Object> list=Arrays.asList(new String[]{"1","2","3"});
        System.out.println(list);//[1, 2, 3]
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值