Java Collection

package 集合;

import java.util.*;
import java.util.stream.Stream;

public class Collection {
    public static void main(String[] args) {
        java.util.Collection<String> list = new ArrayList<>();
        java.util.Collection<String> ls = new ArrayList<>();
        //初始化数据
        Test01(list, ls);
        //测试数据  2个集合的操做
        Test02(list, ls);
        //单项测试
        Test03(list);

        System.out.println(list);
        System.out.println(ls);
    }

    private static void Test03(java.util.Collection<String> list) {

        //暂不明作用!
        if (false) {
            Spliterator<String> sss = list.spliterator();
        }

        //暂不明作用!
        if (false) {
            Stream<String> s = list.stream();
        }

        //清空元素
        //list.clear();

        //如果集合中有这个元素则返回true
        if (false) {
            boolean b = list.contains("武器大师");
            if (b) {
                System.out.println("lsit中包含武器大师");
            }
        }

        //返回此集合的哈希码值
        if (false) {
            int i = list.hashCode();
            System.out.println("哈希码值为" + i);
        }

        //如果此集合不包含元素,则返回 true
        if (false) {
            if (list.isEmpty()) {
                System.out.println("此集合为空!");
            } else {
                System.out.println("此集合不为空!");
            }
        }

        //迭代器的使用
        if (false) {
            //返回此集合中的元素的迭代器
            Iterator<String> it = list.iterator();
            //使用迭代器遍元素
            while (it.hasNext()) {
                System.out.print(it.next() + " ");
            }
            System.out.println();
        }

        //从该集合中删除指定元素的单个实例(如果存在)(可选操作)
        if (false) {
            boolean b = list.remove("武器大师");
            boolean b1 = list.remove("螳螂");
            if (b) {
                System.out.println("删除武器大师成功");
            } else {
                System.out.println("武器大师不存在");
            }
            if (b1) {
                System.out.println("删除螳螂成功");
            } else {
                System.out.println("螳螂不存在");
            }
        }


        //返回此集合中的元素数
        if (false) {
            int size = list.size();
            System.out.println("list对象的元素个数为: " + size);
        }

        //返回一个包含此集合中所有元素的数组
        if (false) {
            Object[] o = list.toArray();
            System.out.println(Arrays.toString(o));
        }

        /**
         * 如果 形参数组大小大于list的元素长度 则把list元素 存入形参
         * if(list.size>array.length)   array数组将不会得到数据
         * if(list.size<=array.length)  array数组将会得到list的所有元素
         * list.toArray(T[])最终都会返回一个数组
         */
        if (false) {
            //if(list.size>array.length)
            if (true) {
                String[] str = new String[list.size() - 1];
                String[] str1 = list.toArray(str);
                System.out.println(str);
                System.out.println("str.len<list.size 所以str没有得到元素");
                System.out.println("list的返回值仍然能接到元素\n" + str1);
            }
            if (true) {
                String[] str = new String[list.size()];
                String[] str1 = list.toArray(str);
                System.out.println("str得到了所有元素!");
                System.out.println(str);
                System.out.println("list的返回值仍然能接到元素\n" + str1);
            }
        }
    }

    private static void Test02(java.util.Collection<String> list, java.util.Collection<String> ls) {
        //把ls数据全部添加到list中
        list.addAll(ls);

        //存在相同元素直接清空了   暂时不了解全部用法
        //删除满足给定谓词的此集合的所有元素
        if (false) {
            boolean b = list.removeIf(List -> list.contains("武器大师"));
            if (b) {
                System.out.println("存在相同元素");
            } else {
                System.out.println("不存在相同元素");
            }
        }

        //如果list中包含ls中的所有元素则返回true
        if (false) {
            boolean b = list.containsAll(ls);
            if (b) {
                System.out.println("list中包含ls中的所有元素!");
            }
        }

        //删除指定集合中包含的所有此集合的元素
        if (false) {
            boolean b = list.removeAll(ls);
            if (b) {
                System.out.println("list与ls存在的相同元素删除完毕");
            } else {
                System.out.println("list与ls不存在相同元素");
            }
        }

        //仅保留此集合中包含在指定集合中的元素
        if (false) {
            boolean b = list.retainAll(ls);
            if (b) {
                System.out.println("仅保留了 集合中 包含在ls集合中的元素");
            } else {
                System.out.println("不存在相同元素,集合被清空");
            }
        }
    }

    private static void Test01(java.util.Collection list, java.util.Collection ls) {
        list.add("武器大师");
        list.add("青钢影");
        list.add("卡兹克");
        list.add("亚索");

        ls.add("王者荣耀");
        ls.add("和平精英");
        ls.add("原神");
        ls.add("英雄联盟");
    }
}

上一篇:2.集合学习的整体框架


下一篇:DQL ,Data Query Language,数据查询语言