zoukankan      html  css  js  c++  java
  • 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);
        } 
    }

  • 相关阅读:
    arcgis建立拓扑分析(检验矢量图)
    矢量图面层和线层相交得到相交后的线层文件(gis相交)
    关于处理注册表权限无法修改的问题(无法打开主键或注册表项unknown)
    my.cnf配置文件
    keepalived联动mysql
    安装客户端连接软件(zabbix_agentd-filebeat-flume)
    zabbix短信配置说明
    zabbix监控工具添加网络设备Ping
    新买了硬盘,让Linux系统识别硬盘nfs---->改成xfs
    vnc软件使用
  • 原文地址:https://www.cnblogs.com/qq-757617012/p/4279093.html
Copyright © 2011-2022 走看看