• 集合框架


    集合框架

    *      |----Collection接口:单列集合,用来存储一个一个的对象
    *          |----List接口:存储有序的、可重复的数据。  -->“动态”数组
    *              |----ArrayList、LinkedList、Vector
    *
    *          |----Set接口:存储无序的、不可重复的数据   -->高中讲的“集合”
    *              |----HashSet、LinkedHashSet、TreeSet
    *
    *      |----Map接口:双列集合,用来存储一对(key - value)一对的数据   -->高中函数:y = f(x)
    *              |----HashMap、LinkedHashMap、TreeMap、Hashtable、Properties
    
    public class CollectionTest {
    
        @Test
        public void test1() {
            Collection coll = new ArrayList();
            coll.add(123);
            coll.add(456);
            //        Person p = new Person("Jerry",20);
            //        coll.add(p);
            coll.add(new Person("Jerry", 20));
            coll.add(new String("Tom"));
            coll.add(false);
            //1.contains(Object obj):判断当前集合中是否包含obj
            //我们在判断时会调用obj对象所在类的equals()。
            boolean contains = coll.contains(123);
            System.out.println(contains);
            System.out.println(coll.contains(new String("Tom")));
            //        System.out.println(coll.contains(p));//true
            System.out.println(coll.contains(new Person("Jerry", 20)));//false -->true
    
            //2.containsAll(Collection coll1):判断形参coll1中的所有元素是否都存在于当前集合中。
            Collection coll1 = Arrays.asList(123, 4567);
            System.out.println(coll.containsAll(coll1));
        }
    
        @Test
        public void test2() {
            //3.remove(Object obj):从当前集合中移除obj元素。
            Collection coll = new ArrayList();
            coll.add(123);
            coll.add(456);
            coll.add(new Person("Jerry", 20));
            coll.add(new String("Tom"));
            coll.add(false);
    
            coll.remove(1234);
            System.out.println(coll);
    
            coll.remove(new Person("Jerry", 20));
            System.out.println(coll);
    
            //4. removeAll(Collection coll1):差集:从当前集合中移除coll1中所有的元素。
            Collection coll1 = Arrays.asList(123, 456);
            coll.removeAll(coll1);
            System.out.println(coll);
    
    
        }
    
        @Test
        public void test3() {
            Collection coll = new ArrayList();
            coll.add(123);
            coll.add(456);
            coll.add(new Person("Jerry", 20));
            coll.add(new String("Tom"));
            coll.add(false);
    
            //5.retainAll(Collection coll1):交集:获取当前集合和coll1集合的交集,并返回给当前集合
            // Collection coll1 = Arrays.asList(123,456,789);
            // coll.retainAll(coll1);
            // System.out.println(coll);
    
            //6.equals(Object obj):要想返回true,需要当前集合和形参集合的元素都相同。
            Collection coll1 = new ArrayList();
            coll1.add(456);
            coll1.add(123);
            coll1.add(new Person("Jerry", 20));
            coll1.add(new String("Tom"));
            coll1.add(false);
    
            System.out.println(coll.equals(coll1));
    
    
        }
    
        @Test
        public void test4() {
            Collection coll = new ArrayList();
            coll.add(123);
            coll.add(456);
            coll.add(new Person("Jerry", 20));
            coll.add(new String("Tom"));
            coll.add(false);
    
            //7.hashCode():返回当前对象的哈希值
            System.out.println(coll.hashCode());
    
            //8.集合 --->数组:toArray()
            Object[] arr = coll.toArray();
            for (int i = 0; i < arr.length; i++) {
                System.out.println(arr[i]);
            }
    
            //拓展:数组 --->集合:调用Arrays类的静态方法asList()
            List<String> list = Arrays.asList(new String[]{"AA", "BB", "CC"});
            System.out.println(list);
    
            List arr1 = Arrays.asList(new int[]{123, 456});
            System.out.println(arr1.size());//1
    
            List arr2 = Arrays.asList(new Integer[]{123, 456});
            System.out.println(arr2.size());//2
    
            //9.iterator():返回Iterator接口的实例,用于遍历集合元素。放在IteratorTest.java中测试
    
        }
    }
    
    会当凌绝顶,一览众山小
  • 相关阅读:
    java项目配置域名(tomcat直接配置 or 使用nginx反向代理)
    java爬虫学习
    python爬虫
    log4j的日志级别(ssm中log4j的配置)
    Python中list,tuple,dict,set的区别和用法
    [转]C# Eval在asp.net中的用法及作用
    【转】一个运维经理的运维经验总结
    [转]使用 LVS 实现负载均衡原理及安装配置详解
    [转]33个网站足以使你成为一个天才
    搜狐邮箱想说爱你不容易!
  • 原文地址:https://www.cnblogs.com/leyzzz/p/15321579.html
Copyright © 2020-2023  润新知