JAVA之Collection与List

这篇博客探讨了Java中的Collection和List集合的区别及操作。Collection集合支持添加元素、合并、清空、删除等操作;List集合允许在指定位置插入、获取、删除和替换元素,并提供了遍历和截取子集的功能。此外,还讨论了如何查找交集、判断元素存在及去重的方法。
摘要由CSDN通过智能技术生成
  • 数组与容器的区别:
  1. 数组的长度一旦定义了就不能再改变,而集合的长度是可变的
  2. 数组可以存储基本数据类型,也可以存储引用数据类型而 集合只能存储引用数据类型
  3. 数组只能存储同一种数据类型的元素,而集合可以存储多种数据类型的元素

Collection集合

  • 往Collection集合中添加元素 boolean b=对象.add(Object o);//返回布尔类型
Collection collection=new ArraysList();
int num=100;
collection.add("巩俐");
collection.add("张敏");
collection.add("大黑雄");
collection.add(100);
collection.add(num);//加入int类型的时候会自动进行装箱化为包装类collection.add(Integer.valueof(num));
System.out.println(collection);
  • 把两个集合中的元素,归并到一个集合里面去,返回值是布尔类型
collection.addAll(collection1);//返回的是布尔类型,并且元素归并到collection中
  • 清空集合中的所有元素
collection.clear();
  • 删除集合中的某个元素
collection.remove(Object o);
  • 删除两个集合中的交集元素
collection.removeAll(collection1);//返回的是布尔类型,若删除交集元素则返回true,若没有交集元素则返回false类型
  • 判断集合中有没有某元素
Collection collection = new ArrayList();
        collection.add(100);
        collection.add(200);
        collection.add(500);
        System.out.println(collection.contains(1000));//返回布尔类型
  • 判断集合是否为空
collection.clear();
   System.out.println(collection.isEmpty());//返回布尔类型
  • 判断集合中是否包含指定的集合元素(包括另外一个集合中的所有元素才是 包含则返回布尔类型)
Collection collection = new ArrayList();
        collection.add(100);
        collection.add(200);
        collection.add(500);
        collection.add(300);
        collection.add(400);

        Collection collection2 = new ArrayList();
        collection2.add(100);
        collection2.add(200);

        collection2.add(300);
        collection2.add(400);

        boolean b = collection.containsAll(collection2);
        System.out.println(b);//返回的是true
  • 获取集合的长度
collection.sizeof();
  • 遍历集合中的元素
方法一:利用for循环遍历
for(int i=0;i<collection.sizeof();i++){
    Object o=collection.get(i);
    System.out.println(o);
}
方法二:利用迭代器遍历
Iterator it=collection.iterator;
while(it.hasNext){
    Object obj=iterator.next();
    System.out.println(obj);
}
  • 求两个集合的交集功能
A集合对B集合取交集,获取到的交集元素在A集合中。返回的布尔值表示的是A集合是否发生变化
     boolean b=collection.retainAll(collection1)
     //返回的布尔值表示A集合是否变化,将交集元素存在collection中

List集合


  • 在指定索引处添加元素
list.add(0,500);//list.add(index,添加元素)
  • 通过索引来获取集合中的元素
list.get(index);
  • 根据元素来删除
list.remove(Object 0);
  • 根据索引来删除集合中的元素
list.remove(index);
list.remove(Integer.valueOf(元素));如果索引和元素区分不出来,你把元素包装一下。
  • 替换集合中的元素,返回的是被替换的那个旧元素
Object old = list.set(index,new);
  • 返回元素的索引
int index=list.indexof(Object o);
  • List的迭代器:遍历集合
//正向迭代
ListIterator it=list.listIterator();
while(it.hasNext){
    Object obj=listiterator.next();
    System.out.println(obj);
}
//反向迭代,listIterator.hasPrevious()
//进行反向迭代前必须进行正向迭代
ListIterator listIterator = list.listIterator();
        while (listIterator.hasNext()) {
            Object obj = listIterator.next();
            System.out.println(obj);
        while (listIterator.hasPrevious()) {
            Object o = listIterator.previous();
            System.out.println(o);
  • 根据起始索引和终止索引,截取集合中的一部分元素,放到一个新集合中。
List list = new ArrayList();
list.add("world");
list.add("aaa");
list.add("bbb");
List list1 = list.subList(0, 2); //含头不含尾
System.out.println(list1);

示例:去除集合中重复的的元素

public class demo1 {
    public static void main(String[] args) {
        List list=new ArrayList();
        list.add(100);
        list.add(100);
        list.add(200);
        list.add(300);
        list.add(400);
        list.add(400);
        list.add(400);
        list.add(400);
        list.add(400);
        list.add(400);
        for (int i = 0; i <list.size()-1; i++) {
            for (int j = list.size()-1; j >i; j--) {
                if(list.get(j).equals(list.get(i))){
                    list.remove(j);
                }
            }
        }
        System.out.println(list);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值