LinkedHashSet

LinkedHashSet:


LinkedHashSet作为HashSet的资历,在添加数据的同时,每个数据还维护了两个引用,记录此数据的前一个和后一个数据。

对于频繁的遍历操作,LinkedHashSet的效率高于HashSet。

LinkedHashSet是Set集合的一个实现,具有set集合不重复的特点,同时具有可预测的迭代顺序,也就是我们插入的顺序。

并且linkedHashSet是一个非线程安全的集合。如果有多个线程同时访问当前linkedhashset集合容器,并且有一个线程对当前容器中的元素做了修改,那么必须要在外部实现同步保证数据的冥等性。


package com.cheng.collection;

import org.junit.Test;

import java.util.Iterator;
import java.util.Set;

public class LinkedHashSet {
   @Test
   public void test01(){
       Set set = new java.util.LinkedHashSet();
       set.add("asd");
       set.add(123);
       set.add(999);
       set.add(new Person("Alirious",22));
       Iterator iterator  = set.iterator();
       while (iterator.hasNext()){
           System.out.println(iterator.next());
      }
       //输出结果(顺序为输入顺序)
       //asd
       //123
       //999
       //Person{name='Alirious', age=22}
  }
}

 

posted @ 2021-08-09 10:59  Dudo1  阅读(78)  评论(0)    收藏  举报