Java 集合(set)转换为数组

时间:2020-02-23 14:35:11  来源:igfitidea点击:

在本教程中,我们将学习Java中将set转换为数组。
有很多方法可以将set转换为数组。

1.使用Java 8的流

如果我们使用的是Java 8,我会建议使用此方法。

package org.igi.theitroad;
 
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class SetToArrayMain {
 
	public static void main(String[] args) {
		 //Creating a new HashSet
        Set<String> s = new HashSet<String>();
        s.add("John");
        s.add("Martin");
        s.add("Mary");
 
        String[] arr = s.stream().toArray(String[] ::new);
 
        System.out.println(Arrays.toString(arr));
	}
}

输出

[John, Martin, Mary]

2.使用toarray()

我们可以直接在SET对象上调用TOARRAY方法,用于Java设置为阵列转换。

package org.igi.theitroad;
 
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class SetToArrayMain {
 
	public static void main(String[] args) {
		 //Creating a new HashSet
        Set<String> set = new HashSet<String>();
        set.add("John");
        set.add("Martin");
        set.add("Mary");
 
       
        String array[] = new String[set.size()];
        array = set.toArray(array);
 
        System.out.println(Arrays.toString(array));
	}
}

输出

[John, Martin, Mary]

3.使用system.arraycopy()

我们可以使用system.arraycopy for Java设置为列表转换。

package org.igi.theitroad;
 
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class SetToArrayMain {
 
	public static void main(String[] args) {
        //Creating a new HashSet
        Set<String> set = new HashSet<String>();
        set.add("John");
        set.add("Martin");
        set.add("Mary");
 
       
        String array[] = new String[set.size()];
        System.arraycopy(set.toArray(), 0, array, 0, set.size());
 
        System.out.println(Arrays.toString(array));
	}
}

输出

[John, Martin, Mary]

4.使用简单的迭代

迭代集合并手动将值放入数组中。

package org.igi.theitroad;
 
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
 
public class SetToArrayMain {
 
	public static void main(String[] args) {
		 //Creating a new HashSet
        Set<String> set = new HashSet<String>();
        set.add("John");
        set.add("Martin");
        set.add("Mary");
 
        String array[] = new String[set.size()];
        
        int i = 0;
        for (String x : set)
        {  
        		array[i++] = x;
        }
 
        System.out.println(Arrays.toString(array));    
	}
}

输出

[John, Martin, Mary]