美文网首页
JAVA:Set/List/Map 集合之Set(二)

JAVA:Set/List/Map 集合之Set(二)

作者: 小鱼儿_f32a | 来源:发表于2019-06-20 14:37 被阅读0次

    1,定义

    set接口及其实现类–HashSet

    Set是元素无序且不可重复的集合,被称为集。

    HashSet是哈希集,是Set的一个重要实现类

    set中循环只能使用foreach和iterator这两个,而没有get()方法

    set中无论添加某个对象多少次,最终只会保留一个该对象 的引用,并且保留的是第一次添加的那个。

    set中add()、addAll()、remove()、removeAll()方法和List中使用方法一样

    2,实现类 

    HashSet() 

    特点: 

    不能保证元素的排列顺序,顺序有可能发生变化。

    另外HashSet不是同步的,如果多个线程同时访问一个Set,只要有一个线程修改Set中的值,就必须进行同步处理,通常通过同步封装这个Set的对象来完成同步,如果不存在这样的对象,可以使用Collections.synchronizedSet()方法完成。 

    Set s = Collections.synchronizedSet(new HashSet(…));

    元素值可以是null。

    3,遍历

    //1.迭代遍历:Set set =new HashSet();

    Iterator it = set.iterator();

    while (it.hasNext()) {

    String str = it.next();

    System.out.println(str);

    }

    //2.for循环遍历:

    for (String str : set) {

    System.out.println(str);

    }

    注意:在对set集合成进行遍历的时候不能同时进行修改操作,比如删除,这样会导致崩溃。

    相关文章

      网友评论

          本文标题:JAVA:Set/List/Map 集合之Set(二)

          本文链接:https://www.haomeiwen.com/subject/pzndqctx.html