欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实训篇:第十五天

程序员文章站 2022-03-16 21:33:47
...

之前的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);
    }
}

 

相关标签: 实训 实训