package demo;import java.util.LinkedHashSet;
import java.util.Set;import org.junit.Test;public class union_List { @Test
public void test1() {
Set<Integer> s = new LinkedHashSet<>();// HashSet,TreeSet
int[] a = { 10, 11, 12, 13, 14, 15, 16 };
for_each(a, s);
int[] b = { 20, 12, 16, 17, 18, 19 };
for_each(b, s);
System.out.println(s); } // 把数组中所有的元素添加到set集合中
public void for_each(int[] a, Set<Integer> s) {
for (int i : a)
s.add(i);
}
}

解决方案 »

  1.   

    Set接口继承了Collection接口。Set集合中不能包含重复的元素,每个元素必须是唯一的。
    HashSet是采用hash表来实现的。其中的元素没有按顺序排列,偏速度型(快速存取)
    TreeSet是采用树结构实现(红黑树算法)。元素是按顺序进行排列,它还提供了一些方法来处理排序的set,如first(), last(), headSet(), tailSet()等等。偏排序
    LinkedHashSet介于HashSet和TreeSet之间。它也是一个hash表,但是同时维护了一个双链表来记录插入的顺序。保持插入顺序http://www.cnblogs.com/Terry-greener/archive/2011/12/02/2271707.html,这个人写的不错  应该能解决你的疑惑