• Java Collection集合方法


    • 一、简单方法

    package cn.itcast.day15;
    
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collection;
    
    /**
     * 集合的由来:
     *             我们学习的是面向对象语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们就必须把这多个对象进行存储。
     *             而要想存储多个对象,就不能是一个基本的变量,而应该是一个容器内的对象,在我们目前所学的知识里面,有哪些是容器类型的呢?
     *             数组和StringBuffer。但是呢?StringBuffer的结果是一个字符串,不一定满足我们的要求,所以我们只能选择数组,这就是对象数组。
     *             而对象数组又不能适应变化的需求,因为数组的长度是固定的,这个时候,为了适应变化的需求,Java就提供了集合类型供我们使用。
     * 
     * 数组和集合的区别:
     *         A:长度区别
     *             数组的长度固定
     *         B:内容不同
     *             数组存储的是一种类型的元素
     *             而集合中存储不同类型的元素
     *        C:元素的数据类型不同 
     *            数组可以存储基本类型,也可以存储引用类型
     *            集合只能存储引用类型
     *
     *    刚说过集合是存储多个元素的,但是呢,存储多个元素我们也是有不同需求的:比如说,我要这多个元素中不能有相同的元素。
     *    再比如说,我要这多个元素按照某种规则排序一下。针对不同的需求,Java就提供了不同的集合类,这样呢,Java就提供了很多个集合类。
     *    这多个集合类的数据结构不同,结构不同不重要,重要的是你要能够存储东西,并且还要能够使用这些东西,比如说判断、获取等。
     *    既然这样,那么,这多个集合类是有共性的内容的,我们把这些集合类的共性内容不断的向上抽取,最终就能形成集合的继承体系结构。
     *
     *    数据结构:数据的存储方式。
     *
     *    Collection: 世界欧股的顶级接口,它的子体系有重复的,有唯一的,有有序的,有无序的。(后面慢慢讲到)
     *    
     *    Collection的功能概述:
     *    1: 添加功能
     *         boolean add(E e):向集合中添加一个元素
     *         boolean addAll(Collection<? extends E> c):向集合中添加一个集合
     *    2: 删除功能
     *        void clear():移除掉集合中所有的元素
     *        boolean remove(Object o)删除集合中某一个元素  
     *        boolean removeAll(Collection<?> c):移除集合中指定的集合元素 
     *    3: 判断功能
     *        boolean contains(Object o):判断集合中是否包含指定元素
     *        boolean containsAll(Collection<?> c):判断集合中是否包含指定集合中的所有元素
     *        boolean isEmpty():判断集合是否为空    
     *    4: 获取功能
     *        Iterator<E> iterator():返回迭代集合时的迭代器(重点)
     *    5: 长度功能
     *        int size():集合的长度
     *    6: 交集功能
     *        boolean retainAll(Collection<?> c):两个集合都有的元素
     *    7:转换功能
     *         Object[] toArray():将集合转换成Object对象数组---和Arrays  static <T> List<T>  asList(T... a) 相对应
     *        
     */
    
    
    public class CollectionDemo {
            public static void main(String[] args) {
                Collection c = new ArrayList();
                //boolean add(E e):向集合中添加一个元素
                c.add("abc1");
                c.add("abc2");
                c.add("abc3");
                c.add("abc4");
                
                //void clear():移除掉集合中所有的元素
                //c.clear();
                
                //boolean remove(Object o)删除集合中某一个元素  
                //c.remove("abc5");
                
                //boolean contains(Object o):判断集合中是否包含指定元素
    //            System.out.println(c.contains("123"));//flase
    //            System.out.println(c.contains("abc2"));//true
                
                //boolean isEmpty():判断集合是否为空 
                //System.out.println("isEmpty: "+c.isEmpty());
                
                //int size():集合的长度
    //            System.out.println("size(): "+c.size());//4
    //            c.remove("abc1");
    //            System.out.println("size(): "+c.size());//3
                
                Object[] objs=c.toArray();
                for(int i=0;i<objs.length;i++){
                    Object obj=objs[i];
                    System.out.println(obj);
                }
                
                c=Arrays.asList(objs);
                System.out.println("c:"+c);
                
            }
    }
    • 二、高级方法

    package cn.itcast.day15;
    
    import java.util.ArrayList;
    import java.util.Collection;
    
    /**
     * 
     * 
     * Collection集合的高级功能测试
     * xxAll方法测试
     * boolean addAll(Collection<? extends E> c):向集合中添加一个集合
     * boolean removeAll(Collection<?> c):移除集合中指定的集合元素 
     * boolean containsAll(Collection<?> c):判断集合中是否包含指定集合中的所有元素
     * boolean retainAll(Collection<?> c):两个集合都有的元素  返回:如果此 collection 由于调用而发生更改,则返回 true 
    
     */
    public class CollectionDemo2 {
        public static void main(String[] args) {
            Collection c1 = new ArrayList();
            c1.add("abc1");
            c1.add("abc2");
            c1.add("abc3");
            c1.add("abc4");
    
            
            Collection c2 = new ArrayList();
            c2.add("abc1");
            c2.add("abc2");
            c2.add("abc3");
            c2.add("abc4");
            c2.add("abc5");
            c2.add("abc6");
            c2.add("abc7");
            
    
    //        c1.addAll(c2);
            
            //System.out.println(c1.removeAll(c2));
            
    //        System.out.println(c1.containsAll(c2));
    //        System.out.println(c1.retainAll(c2));
            
            System.out.println(c1);
            System.out.println(c2);
        } 
    }

  • 相关阅读:
    Kubernetes 集成研发笔记
    Rust 1.44.0 发布
    Rust 1.43.0 发布
    PAT 甲级 1108 Finding Average (20分)
    PAT 甲级 1107 Social Clusters (30分)(并查集)
    PAT 甲级 1106 Lowest Price in Supply Chain (25分) (bfs)
    PAT 甲级 1105 Spiral Matrix (25分)(螺旋矩阵,简单模拟)
    PAT 甲级 1104 Sum of Number Segments (20分)(有坑,int *int 可能会溢出)
    java 多线程 26 : 线程池
    OpenCV_Python —— (4)形态学操作
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/4279093.html
Copyright © 2020-2023  润新知