{"id":6308,"date":"2021-05-12T09:53:55","date_gmt":"2021-05-12T04:23:55","guid":{"rendered":"https:\/\/java2blog.com\/?p=6308"},"modified":"2021-05-12T09:59:52","modified_gmt":"2021-05-12T04:29:52","slug":"java-set-to-array","status":"publish","type":"post","link":"https:\/\/java2blog.com\/java-set-to-array\/","title":{"rendered":"Java Set to Array"},"content":{"rendered":"<p>In this post, we will learn java set to array conversion.<br \/>\n<div id=\"toc_container\" class=\"toc_light_blue no_bullets\"><p class=\"toc_title\">Table of Contents<\/p><ul class=\"toc_list\"><li><a href=\"#1_Using_Java_88217s_Stream\">1. Using Java 8&#8217;s Stream<\/a><\/li><li><a href=\"#2_Using_toArray\">2. Using toArray()<\/a><\/li><li><a href=\"#3_Using_toArrayIntFunction_Java_11\">3. Using toArray(IntFunction) [Java 11]<\/a><\/li><li><a href=\"#4_Using_Systemarraycopy\">4. Using System.arraycopy()<\/a><\/li><li><a href=\"#5_Using_ArrayscopyOf\">5. Using Arrays.copyOf<\/a><\/li><li><a href=\"#6_Using_simple_iteration\">6. Using simple iteration<\/a><\/li><li><a href=\"#7_Using_Guava_library\">7. Using Guava library<\/a><ul><li><a href=\"#71_Using_FluentIterable\">7.1 Using FluentIterable<\/a><\/li><li><a href=\"#72_Using_Iterables\">7.2 Using Iterables<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\nThere are many ways to convert set to an array.<\/p>\n<hr \/>\n<h2><span id=\"1_Using_Java_88217s_Stream\"><span style=\"color: #f89820;\">1. Using Java 8&#8217;s Stream<\/span><\/span><\/h2>\n<p>If you are using <a href=\"https:\/\/java2blog.com\/java-8-tutorial\/\">Java 8<\/a>, I would recommend using <a href=\"https:\/\/java2blog.com\/java-8-stream\/\" target=\"_blank\" rel=\"noopener noreferrer\">Java 8 Stream<\/a>.<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n         \/\/ Creating a new HashSet\n        Set&lt;String&gt; s = new HashSet&lt;String&gt;();\n        s.add(\"John\");\n        s.add(\"Martin\");\n        s.add(\"Mary\");\n\n        String[] arr = s.stream().toArray(String[] ::new);\n\n        System.out.println(Arrays.toString(arr));\n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<hr \/>\n<h2><span id=\"2_Using_toArray\"><span style=\"color: #f89820;\">2. Using toArray()<\/span><\/span><\/h2>\n<p>We can directly call <code>toArray()<\/code> method on set object for java set to array\u00a0conversion.<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n         \/\/ Creating a new HashSet\n        Set&lt;String&gt; set = new HashSet&lt;String&gt;();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String array[] = new String[set.size()];\n        array = set.toArray(array);\n\n        System.out.println(Arrays.toString(array));\n    }\n}\n\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<hr \/>\n<h2><span id=\"3_Using_toArrayIntFunction_Java_11\"><span style=\"color: #f89820;\">3. Using toArray(IntFunction<T[]>) [Java 11]<\/span><\/span><\/h2>\n<p>You can use <code>Set#toArray(IntFunction&lt;T[]&gt;)<\/code> method which takes <code>IntFunction<\/code> as generator<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package package org.arpit.java2blog.entry;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n        \/\/ Creating a new HashSet\n        Set<String> set = new HashSet<String>();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String[] array = set.toArray(String[]::new);\n        System.out.println(Arrays.toString(array));\n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<hr \/>\n<h2><span id=\"4_Using_Systemarraycopy\"><span style=\"color: #f89820;\">4. Using System.arraycopy()<\/span><\/span><\/h2>\n<p>We can use <code>System.arraycopy()<\/code> for java set to array conversion.<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n        \/\/ Creating a new HashSet\n        Set&lt;String&gt; set = new HashSet&lt;String&gt;();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String array[] = new String[set.size()];\n        System.arraycopy(set.toArray(), 0, array, 0, set.size());\n\n        System.out.println(Arrays.toString(array));\n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<h2><span id=\"5_Using_ArrayscopyOf\"><span style=\"color: #f89820;\">5. Using Arrays.copyOf<\/span><\/span><\/h2>\n<p>We can use <code>Arrays.copyOf()<\/code> for java set to array conversion.<\/p>\n<p>Here, Array.copyOf takes 3 parameters<\/p>\n<pre code=\"java\">\n *  \n     * @param Array which we need to copy\n     * @param newLength: the length of the copy to be returned\n     * @param newType: the class of the copy to be returned\n     * @return a copy of the original array with specified newLength and newType\npublic static <T,U> T[] copyOf(U[] original, int newLength, Class<? extends T[]> newType)\n<\/pre>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n        \/\/ Creating a new HashSet\n        Set&lt;String&gt; set = new HashSet&lt;String&gt;();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String array[] = new String[set.size()];\n        System.arraycopy(set.toArray(), 0, array, 0, set.size());\n\n        System.out.println(Arrays.toString(array));\n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<hr \/>\n<h2><span id=\"6_Using_simple_iteration\"><span style=\"color: #f89820;\">6. Using simple iteration<\/span><\/span><\/h2>\n<p>Iterate through set and put the value in array manually.<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n         \/\/ Creating a new HashSet\n        Set&lt;String&gt; set = new HashSet&lt;String&gt;();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String array[] = new String[set.size()];\n\n        int i = 0;\n        for (String x : set)\n        {  \n                array[i++] = x;\n        }\n\n        System.out.println(Arrays.toString(array));    \n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<h2><span id=\"7_Using_Guava_library\"><span style=\"color: #f89820;\">7. Using Guava library<\/span><\/span><\/h2>\n<p>There are two ways to convert set to array using guava library.<\/p>\n<h3><span id=\"71_Using_FluentIterable\">7.1 Using FluentIterable<\/span><\/h3>\n<p><code>FluentIterable<\/code> class provide similar functionality to Java 8&#8217;s Stream. It takes iterable set and returns an array which contains all the elements from fluent iterable.<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport com.google.common.collect.FluentIterable;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n        \/\/ Creating a new HashSet\n        Set<String> set = new HashSet<String>();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String[] array = FluentIterable.from(set).toArray(String.class);\n        System.out.println(Arrays.toString(array));\n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<h3><span id=\"72_Using_Iterables\">7.2 Using Iterables<\/span><\/h3>\n<p><code>Iterables<\/code> class provides <code>toArray<\/code> method which takes set and newType as input and return array contains iterable&#8217;s elements.<\/p>\n<pre class=\"java\" name=\"code\" title=\"SetToArrayMain.java\">package org.arpit.java2blog;\n\nimport com.google.common.collect.Iterables;\n\nimport java.util.Arrays;\nimport java.util.HashSet;\nimport java.util.Set;\n\npublic class SetToArrayMain {\n\n    public static void main(String[] args) {\n        \/\/ Creating a new HashSet\n        Set<String> set = new HashSet<String>();\n        set.add(\"John\");\n        set.add(\"Martin\");\n        set.add(\"Mary\");\n\n        String[] array = Iterables.toArray(set, String.class);\n        System.out.println(Arrays.toString(array));\n    }\n}\n<\/pre>\n<p>Output<\/p>\n<div class=\"content-box-green\">[John, Martin, Mary]<\/div>\n<p>That&#8217;s all about Java set to array.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Table of Contents1. Using Java 8&#8217;s Stream2. Using toArray()3. Using toArray(IntFunction) [Java 11]4. Using System.arraycopy()5. Using Arrays.copyOf6. Using simple iteration7. Using Guava library7.1 Using FluentIterable7.2 Using Iterables In this post, we will learn java set to array conversion. There are many ways to convert set to an array. 1. Using Java 8&#8217;s Stream If you [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":14358,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_mi_skip_tracking":false},"categories":[183,44],"tags":[],"_links":{"self":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/posts\/6308"}],"collection":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/comments?post=6308"}],"version-history":[{"count":0,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/posts\/6308\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/media\/14358"}],"wp:attachment":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/media?parent=6308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/categories?post=6308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/tags?post=6308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}