实训篇:第十五天

之前的List的顺序默认是指添加的顺序(如果不人为指定添加顺序时)就是遍历的顺序

 

1.HashSet

---无序,元素不能重复

无序:遍历的顺序和添加的顺序不一致;无序不是随机,多次遍历得到的顺序是一样的

遍历:

package com.hpe.test1;

import java.util.HashSet;
import java.util.Iterator;

public class Test2 {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        //添加元素
        set.add("hello");
        set.add("world");
        set.add("ok");
        set.add("good");

        //打印顺序与添加顺序无关
        System.out.println(set);

        //HashSet遍历-1.增强for循环
        for (String str : set) {
            System.out.println(str);
        }

        /*  Java8之前
         *  遍历:
         *      数组:
         *          普通for-前提是有下标
         *          增强for
         *          while
         *      ArrayList:
         *          迭代器
         *          普通for
         *          增强for
         *          while
         *      Set:
         *          迭代器
         *          增强for
         * Java8之后,上述都可以转为Stream流,用forEach()
         */

        //HashSet遍历·2.迭代器遍历
        //Collection 继承了Iterable,HashSet继承了Collection
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            String item = it.next();
            System.out.println(item);
        }

        //Java8及之后出现了行为参数化,forEach传的action是lambda表达式,语法糖,只是对已有写法进行了包装
        set.forEach(e -> System.out.println(e));

        


    }
}

判断两个内容相同:【Set中通过equals()和hashCode()判断元素是否相同】

元素个数& 添加集合:

package com.hpe.test1;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;

public class Test2 {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        //添加元素
        set.add("hello");
        set.add("world");
        set.add("ok");
        set.add("good");

        //打印顺序与添加顺序无关
        System.out.println(set);

        //HashSet遍历-1.增强for循环
        for (String str : set) {
            System.out.println(str);
        }

        /*  Java8之前
         *  遍历:
         *      数组:
         *          普通for-前提是有下标
         *          增强for
         *          while
         *      ArrayList:
         *          迭代器
         *          普通for
         *          增强for
         *          while
         *      Set:
         *          迭代器
         *          增强for
         * Java8之后,上述都可以转为Stream流,用forEach()
         */

        //HashSet遍历·2.迭代器遍历
        //Collection 继承了Iterable,HashSet继承了Collection
        Iterator<String> it = set.iterator();
        while (it.hasNext()) {
            String item = it.next();
            System.out.println(item);
        }

        //Java8及之后出现了行为参数化,forEach传的action是lambda表达式,语法糖,只是对已有写法进行了包装
        set.forEach(e -> System.out.println(e));

        //元素的个数
        System.out.println(set.size());

        ArrayList<String> list = new ArrayList<String>();
        list.add("aaaa");
        list.add("bbbb");
        list.add("cccc");

        //添加一个集合
        set.addAll(list);
        //打印
        System.out.println(set);
        //判断是否包含某个元素
        System.out.println(set.contains("aaaa"));
        //删除元素
        System.out.println(set.remove("aaaa"));

        System.out.println(set);
    }
}

 

发布了8 篇原创文章 · 获赞 1 · 访问量 97

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览