package com.sheting.basic.collection.list;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import org.apache.commons.collections4.CollectionUtils;
import com.google.common.collect.Sets;
import com.google.common.primitives.Ints;
public class ConvertSetToArrayAndArrayToSet {
public static void main(String[] args) {
convertSetToArray_1();
convertArrayToSet_1();
convertArrayToSet_2();
convertSetToArray_2();
convertArrayToSet_3();
convertSetToArray_3();
convertArrayToSet_4();
}
// ****Using plain Java****
public static void convertSetToArray_1() {
Set<Integer> sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5);
Integer[] targetArray = sourceSet.toArray(new Integer[sourceSet.size()]);
}
public static void convertArrayToSet_1() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
Set<Integer> targetSet = new HashSet<Integer>(Arrays.asList(sourceArray));
}
public static void convertArrayToSet_2() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
Set<Integer> targetSet = new HashSet<Integer>();
Collections.addAll(targetSet, sourceArray);
}
// **** Using Guava ****
public static void convertSetToArray_2() {
Set<Integer> sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5);
int[] targetArray = Ints.toArray(sourceSet);
}
public static void convertArrayToSet_3() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
Set<Integer> targetSet = Sets.newHashSet(sourceArray);
}
// **** Using Commons Collections
public static void convertSetToArray_3() {
Set<Integer> sourceSet = Sets.newHashSet(0, 1, 2, 3, 4, 5);
Integer[] targetArray = sourceSet.toArray(new Integer[sourceSet.size()]);
}
public static void convertArrayToSet_4() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
Set<Integer> targetSet = new HashSet<>(6);
CollectionUtils.addAll(targetSet, sourceArray);
}
}
Converting Between an Array and a Set in Java
最新推荐文章于 2018-07-27 07:15:27 发布