zoukankan      html  css  js  c++  java
  • Java集合

    集合与数组

    数组:(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。

    集合:(只能存储对象,对象类型可以不一样)的长度可变(动态的数组),可在多数情况下使用。

    集合的分类:

    在java集合中,集合分了两个大的接口,分别为:Collection接口和Map接口。

    Collection接口又分为:List接口和Set接口。分别由不同的子类来实现。

    集合的方法:

    我先创建一个ArrayList对象,用ArrayList来说明一下集合里面的基本方法:

    Collection coll = new ArrayList();

    (1)、size()方法:返回集合中元素个数

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

    (2)、add(Object obj):向集合中添加一个元素(注:现在我没有使用泛型,所以不同类型的数据都能添加到集合中)

    coll.add("AA");
    coll.add(new Date());
    coll.add(123);
    coll.add('B');

    (3)、addAll(Collection coll):将形参coll中包含的所有元素添加到当前集合中

    Collection coll1 = Arrays.asList(1,2,3);
    coll.addAll(coll1);

    这里是将coll1集合里面的元素全部添加到coll集合当中。

    (4)、isEmpty():判断集合是否为空,返回true 或者 false

    System.out.println(coll.isEmpty());

    (5)、clear():清空集合元素

    coll.clear();

    (6)、contains(Object obj):判断集合是否包含指定的obj元素,如果包含,返回true,否则返回flase

    boolean b1 = coll.contains("AA");
    System.out.println(b1);

    (7)、containsAll(Collection coll):判断当前集合是否包含coll中所有的元素

    Collection coll2 = new ArrayList();
    coll2.add(123);
    coll2.add('B');
    boolean b2 = coll.containsAll(coll2);
    System.out.println(b2);

    这里是coll里面的元素是否包含coll2集合里面的全部元素,若包含全部元素,则返回true,否则返回false。

    (8)、retainAll(Collection coll):求当前集合与coll的共有的元素,返回给当前集合(就相当于数学的交集)

    coll.retainAll(coll2);
    System.out.println(coll);

    (9)、remove(Object obj):删除集合中的obj元素。若删除成功,返回true;否则返回false。

    boolean b3 = coll.remove(123);

    (10)、removeAll(Collection coll):从当前集合中删除包含在coll中的元素。(相当于数学集合的差)

    coll.removeAll(coll2);

    (11)、toArray():将集合转化为数组

    Object[] obj = coll.toArray();
    for(int i=0;i<obj.length;i++){
        System.out.println(obj[i]);
    }

    集合的遍历方法:

    Collection接口的遍历方法:

    方法一:使用迭代器Iterator实现集合的遍历

    Collection coll = new ArrayList();
    coll.add(123);
    coll.add(456);
    coll.add(789);
    coll.add("AA");
    //iterator:返回一个Iterator接口实现类的对象,迭代器Iterator实现集合的遍历
    Iterator i = coll.iterator();
    while(i.hasNext()){
        System.out.println(i.next());
    }

    方法二:使用增强for循环实现集合(数组)的遍历

    Collection coll = new ArrayList();
    coll.add(123);
    coll.add(456);
    coll.add(789);
    coll.add("AA");
    //增强for循环实现集合的遍历
    for(Object i:coll){
        System.out.println(i);
    }
    
    
    String[] str = new String[]{"AA","BB","CC"};
    //遍历的类型 +变量 :遍历的数组
    for(String i:str){
        System.out.println(i); 
    }

    Map接口的遍历方法:

    (1)、Set keySet():遍历 key 集

    //遍历 key 集
    Set set = map.keySet();
    for(Object obj1 : set){
        System.out.println(obj1);
    }

    (2)、Collection values():遍历value 集

    //遍历value 集
    Collection values = map.values();
    Iterator i = values.iterator();
    while(i.hasNext()){
        System.out.println(i.next());
    }

    (3)、Set entrySet():遍历"key-value"对

    //遍历"key-value"对
            
    //方式一
    Set set1 = map.keySet();
    for(Object obj2 : set1){
        System.out.println(obj2 + "---->"+map.get(obj2));
    }
            
    //方式二:
    Set set3 = map.entrySet();
    for(Object obj3 : set3){
        Map.Entry entry = (Map.Entry) obj3;
    //    System.out.println(entry.getKey() + "---->" + entry.getValue());
        System.out.println(entry);
    }
  • 相关阅读:
    docker创建tomcat容器
    【转载】张一鸣:为什么 BAT 挖不走我们的人才?
    Elastic认证考试,请先看这一篇
    vs code 初始化vue项目框架
    Idea集成git常用命令
    pxc搭建mysql集群
    mysql无限级分类
    Java面试题大全
    SpringMVC和Spring
    Redis高级特性
  • 原文地址:https://www.cnblogs.com/HHHY/p/10914944.html
Copyright © 2011-2022 走看看