Java 集合

2021-04-22  本文已影响0人  媛猿YY

List 列表

  1. ArrayList

HashSet

  1. 迭代器 Iterator
//        将英文单词添加到hashset中
       Set set = new HashSet();
       set.add("blue");
       set.add("red");
       set.add("black");
       set.add("yellow");
       set.add("white");
//        显示集合的内容
       System.out.println("集合中的元素为:");
//        将元素放在迭代器中
       Iterator it = set.iterator();
//        遍历迭代器并输出
       while (it.hasNext()) {
           System.out.print(it.next() + " ");
       }
//        定义宠物猫对象
        Cat huahua = new Cat("花花", 12, "英短");
        Cat fanfan = new Cat("凡凡", 3, "田园猫");
//        将宠物猫对象放入HashSet中
        Set<Cat> set = new HashSet<Cat>();
        set.add(huahua);
        set.add(fanfan);
//        显示宠物猫的消息
        Iterator<Cat> it = set.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

//       再添加一个与花花属性一样的猫
        Cat huahua01 = new Cat("花花", 12, "英短");
        set.add(huahua01);
        System.out.println("============================");
        it = set.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
//        重新插入一个新的宠物猫
        Cat huahua02 = new Cat("花花二代", 2, "英短");
        set.add(huahua02);
        System.out.println("添加花花二代后的宠物信息:");
        it = set.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
//        在集合中查找花花的信息并输出
        if (set.contains(huahua)) {
            System.out.println("花花找到了");
            System.out.println(huahua);
        } else {
            System.out.println("花花没有找到");
        }

//        在集合中使用名字查找花花的信息
        System.out.println("============================");
        System.out.println("通过名字查找花花信息");
        boolean flag = false;
        Cat c = null;
        it = set.iterator();
        while (it.hasNext()) {
            c = it.next();
            if (c.getName().equals("花花")) {
                flag = true;//找到了
                break;
            }
        }
        if (flag) {
            System.out.println("花花找到了");
            System.out.println(c);
        } else {
            System.out.println("花花没找到");
        }

        /*
        删除花花二代的信息并重新输出
        * 1.集合内部有一把锁,在遍历集合时,是不能删除元素的
        * 2.删除思路:设置布尔类型变量flag,初始值false。定义Cat类型引用cat1,当存在“花花二代”时,falg变为true,cat1赋值为“花花二代”。循环结束后,根据flag的值,删除“花花二代”。
        * */
        boolean flag1 = false;
        Cat cat1 = null;
//        增强型for循环,将集合set中的数据取出依次放到cat中
        for (Cat cat : set) {
            if ("花花二代".equals(cat.getName())) {
                flag1 = true;
                cat1 = cat;
            }

        }
        if (flag1) {
            set.remove(cat1);
        }

        System.out.println("删除花花二代后的数据");
        for (Cat cat : set) {
            System.out.println(cat);
        }

        //删除集合中所有宠物猫的信息
        System.out.println("===============");
        boolean flag2 = set.removeAll(set);
//        方法一
//        if(flag2){
//            System.out.println("全部删除");
//        }else {
//            System.out.println("数据还有");
//        }
//         方法二
        if (set.isEmpty()) {
            System.out.println("全部删除");
        } else {
            System.out.println("数据还有");
        }

Map

HashMap
public static void main(String[] args) {
        Map<String, String> animal = new HashMap<String, String>();
        System.out.println("请输入三组单词对应的注释,并存放到hashmap");
        Scanner console = new Scanner(System.in);
//      添加数据
        int i = 0;
        while (i < 1) {
            System.out.println("请输入key值(单词):");
            String key = console.next();
            System.out.println("请输入value值(注释):");
            String value = console.next();
            animal.put(key, value);
            i++;
        }
//        打印输出value的值,使用迭代器
        System.out.println("===========================");
        System.out.println("使用迭代器输出所有的value");
        Iterator<String> it = animal.values().iterator();
        while (it.hasNext()) {
            System.out.print(it.next() + " ");
        }

//         打印输出key和value的值,使用迭代器
//        通过entrySet方法
        System.out.println("===========================");
        System.out.println("通过entrySet方法得到key-value");
        Set<Map.Entry<String, String>> entrySet = animal.entrySet();
        for (Map.Entry<String, String> entry : entrySet) {
            System.out.print(entry.getKey() + "-");
            System.out.println(entry.getValue());
        }
//        查找数据,通过单词找到注释并输出
//        使用keySet方法
        System.out.println("===========================");
        System.out.println("请输入要查找的单词:");
        String strSearch = console.next();
//        1.取到keySet
        Set<String> keySet = animal.keySet();
//        2.遍历keySet,每次从keySet中查找到一个元素放到key中
        for (String key : keySet) {
            if (strSearch.equals(key)) {
                System.out.println(("找到" + "键值对为:" + key + "-") + animal.get(key));
                break;//找到即终止
            }else {
                System.out.println("没有找到");
            }
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读