Convert Set to array in Java

This post will discuss how to convert a set to an array in plain Java, Java 8, and the Guava library.

1. Naive solution

A naive solution is to iterate over the given set and copy each encountered element in the Integer array one by one.

2. Using Set.toArray() method

Set interface provides the toArray() method that returns an Object array containing the elements of the set.

The JVM doesn’t know the desired object type, so the toArray() method returns an Object[]. We can pass a typed array to the overloaded toArray(T[] a) method to let JVM know your desired object type.

We can also pass an empty array of the specified type, and JVM will allocate the necessary memory:

3. Using Java 8

In Java 8, we can use the Stream to convert a set to an array. The idea is to convert a given set to stream using Set.stream() method and use Stream.toArray() method to return an array containing the stream elements. There are two ways to do so:

⮚ Using Streams with method reference

⮚ Using Streams with lambda expression

4. Using Guava Library

⮚ Using FluentIterable class:

The FluentIterable is an expanded Iterable API that provides similar functionality as Java 8’s Stream. We can get a fluent iterable that wraps an iterable set and returns an array containing all the elements from the fluent iterable.

⮚ Using Iterables class:

Guava’s Iterables class also provides the toArray() method that copies an iterable’s elements into an array.

That’s all about converting Set to array in Java.

Original: https://www.cnblogs.com/kungfupanda/p/16466032.html
Author: 功夫 熊猫
Title: Convert Set to array in Java

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537012/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 2022-8-19 第六组 JDBC(2)

    PreparedStatement:执行sql的对象 1. SQL注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接。会造成安全性问题 1. &#x8F93…

    Java 2023年6月13日
    086
  • 后端基于方法的权限控制–Spirng-Security

    后端基于方法的权限控制–Spirng-Security默认情况下, Spring Security 并不启用方法级的安全管控. 启用方法级的管控后, 可以针对不同的方法…

    Java 2023年6月10日
    096
  • 索引下推,这个点你肯定不知道!

    索引下推(Index Condition Pushdown) ICP 是Mysql5.6之后新增的功能,主要的核心点就在于把数据筛选的过程放在了存储引擎层去处理,而不是像之前一样放…

    Java 2023年6月13日
    076
  • 代码注释与Idea新文件创建

    注释 平时自己写代码,在代码量比较少时,还能看懂。但是如果是在公司就会需要看别人的代码,以及时间太久了忘记之前写的代码是什么目的了,那就需要用到注释了。 注释并不会被执行,是写给写…

    Java 2023年6月9日
    070
  • 【校招VIP】[产品][985][5分]实习经历无法凸显个人能力

    本份简历是一位21届985产品同学的简历,简历评分5分。 整个简历风格没有问题,很清晰。但这份简历作为去一二线公司实习或者校招的简历,还是有很多问题的,10分制只能打五分。 1.教…

    Java 2023年6月5日
    068
  • (转)SpringBoot实现MultipartFile文件上传

    转:SpringBoot实现MultipartFile文件上传 – 云+社区 – 腾讯云 (tencent.com) 1、SpringBoot采用FileU…

    Java 2023年5月29日
    075
  • SpringCloud微服务实战——搭建企业级开发框架(三十六):使用Spring Cloud Stream实现可灵活配置消息中间件的功能

    在以往消息队列的使用中,我们通常使用集成消息中间件开源包来实现对应功能,而消息中间件的实现又有多种,比如目前比较主流的ActiveMQ、RocketMQ、RabbitMQ、Kafk…

    Java 2023年6月9日
    078
  • 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v5.0.0版)

    TableGo v5.0.0版更新震撼发布,功能更加强大,速度过来围观,此次版本更新如下:1、UI界面大改版,功能模块重新梳理,以满足未来更丰富的功能和设计。2、新增批量生成MyB…

    Java 2023年6月9日
    094
  • 5.门面Slf4j+log4j2

    1.导入pom依赖 org.slf4j slf4j-api 1.7.25 org.apache.logging.log4j log4j-slf4j-impl 2.10.0 org….

    Java 2023年6月13日
    084
  • 代码上传Github后乱码解决方案

    阅文时长 | 0.23分钟字数统计 | 384字符主要内容 | 1、引言&背景 2、解决方案 3、声明与参考资料『代码上传Github后乱码解决方案』 编写人 | SCsc…

    Java 2023年6月5日
    086
  • 泛型

    在JDK 1.5 之前,编译器允许我们向容器插入不同类据的数据。例 /* * 现在有一批 Apple * 需求:对这一批产品核对 id 再出仓 */ class Apple{ pr…

    Java 2023年6月5日
    077
  • 国庆节,零代码帮你搞定假期美食菜单

    当国庆假期遇上美食 每一口都唇齿留香 特色美食太多,不知道吃什么? AppCube带你一分钟搞定假期美食 来一场舌尖上的旅行 零代码,让假期生活有滋有味 国庆小长假,三五好友结伴出…

    Java 2023年6月15日
    064
  • MySQL系列-MySQL体系结构

    1、MySQL的体系结构 MySQL整体的逻辑结构可以分为4层,客户层、服务层、存储引擎层、数据层 客户层 客户层:进行相关的连接处理、权限控制、安全处理等操作 服务层 服务层负责…

    Java 2023年6月8日
    083
  • 微信聊天内容可以被监听吗

    上班摸鱼与网络安全 成为了锅叔在博客园阅读数最高的一篇文章,足可见同学们上班摸鱼的热情,同时也反映了大家对网络安全的担忧…… 对于其中的一个存疑问题,&#8…

    Java 2023年6月15日
    092
  • Java接口和抽象类区别

    接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法。 接口中除了 static、final 变量,不…

    Java 2023年5月29日
    084
  • 狂神说笔记——SpringBoot快速入门20

    SpringBoot快速入门 ; 1.什么是SpringBoot 回顾什么是Spring? Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Ro…

    Java 2023年5月30日
    0122
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球