iterable java_如何在Java中将Iterable转换为Collection?

2023-11-18

iterable java

There are various ways to convert Iterable to Collection in Java programming language.

多种方法可以用Java编程语言将Iterable转换为Collection

  1. With the help of creating a utility function

    在创建实用程序功能的帮助下

    1. By using for loop

      通过使用for循环

    2. By using forEach() method of Iterable

      通过使用Iterable的forEach()方法

    3. By using Iterator

      通过使用迭代器

  2. With the help of stream with collect() method in Java 8

    借助Java 8中collect()方法的流

  • With the help of utility function

    借助实用程序功能

    In this method, we will change or convert Iterable to Collection explicitly (i.e. we will take each element in an object manually).

    在这种方法中,我们将明确地将Iterable更改或转换为Collection(即,我们将手动获取对象中的每个元素)。

i)通过使用循环 (i) By using for Loop)

// Java program to demonstrate the example of 
// converting an Iterable into a Collection by using for loop 

import java.util.*;
import java.io.*;

public class ConvertIterableToCollection {
    // This is a user defined method which is used to 
    // convert Iterable to Collection
    public static < T > Collection < T >
        convertCollectionFromIterable(Iterable < T > iterable) {
            // Create a blank Collection to hold the result 
            Collection < T > collect = new LinkedList < T > ();

            // By using for loop to iterate through the 
            // iterable to add each element
            for (T type: iterable)
                collect.add(type);

            return collect;
        }

    public static void main(String[] args) {
        Iterable < Double > itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);
        System.out.println("The values of Iterable list are : " + itr);

        Collection < Double > coll = convertCollectionFromIterable(itr);
        System.out.println("The values of Collection list are : " + coll);
    }
}

Output

输出量

E:\Programs>javac ConvertIterableToCollection.java

E:\Programs>java ConvertIterableToCollection
 The values of Iterable list are : [10.0, 20.0, 30.0, 40.0]
 The values of Collection list are : [10.0, 20.0, 30.0, 40.0] 

ii)使用Iterable的forEach() (ii) By using forEach() of Iterable)

This method is available in Java 8 or higher versions so it supports java8 or higher versions.

此方法在Java 8或更高版本中可用,因此它支持java8或更高版本。

// Java program to demonstrate the example of converting 
// an Iterable into a Collection by using forEach() of Iterable.

import java.util.*;
import java.io.*;

public class ConvertIterableToCollection {
    // This is a user defined method which is used to 
    // convert Iterable to Collection
    public static < T > Collection < T >
        convertCollectionFromIterable(Iterable < T > iterable) {
            // Create a blank Collection to hold the result 
            Collection < T > collect = new LinkedList < T > ();

            // By using forEach() to iterate through 
            // the iterable to add each element
            iterable.forEach(collect::add);

            return collect;
        }

    public static void main(String[] args) {
        Iterable < Double > itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);
        System.out.println("The values of Iterable list are : " + itr);

        Collection < Double > coll = convertCollectionFromIterable(itr);
        System.out.println("The values of Collection list are : " + coll);
    }
}

Output

输出量

E:\Programs>javac ConvertIterableToCollection.java

E:\Programs>java ConvertIterableToCollection
The values of Iterable list are : [10.0, 20.0, 30.0, 40.0]
The values of Collection list are : [10.0, 20.0, 30.0, 40.0] 

iii)使用迭代器 (iii) By using Iterator)

// Java program to demonstrate the example of 
// converting an Iterable into a Collection by using Iterator.

import java.util.*;
import java.io.*;

public class ConvertIterableToCollection {
    // This is a user defined method which is used to 
    // convert Iterable to Collection
    public static < T > Collection < T >
        convertCollectionFromIterable(Iterable < T > iterable) {
            // Create a blank Collection to hold the result 
            Collection < T > collect = new LinkedList < T > ();

            // By using Iterator to get the Iterator 
            Iterator < T > iterate = iterable.iterator();

            // By using Iterator to iterate through the iterable 
            // to add each element into the Collection
            while (iterate.hasNext())
                collect.add(iterate.next());

            return collect;
        }

    public static void main(String[] args) {
        Iterable < Double > itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);
        System.out.println("The values of Iterable list are : " + itr);

        Collection < Double > coll = convertCollectionFromIterable(itr);
        System.out.println("The values of Collection list are : " + coll);
    }
}

Output

输出量

E:\Programs>javac ConvertIterableToCollection.java

E:\Programs>java ConvertIterableToCollection
The values of Iterable list are : [10.0, 20.0, 30.0, 40.0]
The values of Collection list are : [10.0, 20.0, 30.0, 40.0] 

2)借助Java 8中的collect()方法的流 (2) With the help of stream with collect() method in Java 8)

In this method Iterable first convert into spliterator then after with the help of StreamSupport.stream() the spliterator can be traversed and then collected with the help of collect() into Collection.

在此方法中,Iterable首先转换为拆分器,然后在StreamSupport.stream()的帮助下遍历拆分器,然后借助collect()将其收集到Collection中。

// Java program to demonstrate the example of stream() 
// with collect() to convert an Iterable into Collection

import java.util.*;
import java.io.*;
import java.util.stream.*;

public class ConvertIterableToCollection {
    // This is a user defined method which is used 
    // to convert Iterable to Collection
    public static < T > Collection < T >
        convertCollectionFromIterable(Iterable < T > iterable) {
            // Create a blank Collection to hold the result 
            Collection < T > collect = new LinkedList < T > ();
            return StreamSupport.stream(iterable.spliterator(), false).collect(Collectors.toList());
        }

    public static void main(String[] args) {
        Iterable < Double > itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);
        System.out.println("The values of Iterable list are : " + itr);

        Collection < Double > coll = convertCollectionFromIterable(itr);
        System.out.println("The values of Collection list are : " + coll);
    }
}

Output

输出量

E:\Programs>javac ConvertIterableToCollection.java

E:\Programs>java ConvertIterableToCollection
The values of Iterable list are : [10.0, 20.0, 30.0, 40.0]
The values of Collection list are : [10.0, 20.0, 30.0, 40.0] 


翻译自: https://www.includehelp.com/java/convert-iterable-to-collection-in-java.aspx

iterable java

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iterable java_如何在Java中将Iterable转换为Collection? 的相关文章

  • Android CursorAdapter、ListView 和后台线程

    我一直在开发的这个应用程序有包含数兆字节数据的数据库可供筛选 许多活动只是列表视图 通过数据库中的各个级别的数据下降 直到到达 文档 即从数据库中提取并显示在手机上的 HTML 我遇到的问题是 其中一些活动需要能够通过捕获击键并重新运行带有
  • APNS(Apple 推送通知服务器)的反馈服务

    我们正在使用Java作为推送通知提供商APNS I我能够将消息发送到APNS但我不知道如何获得该消息的反馈 请帮忙 反馈服务具有类似于用于发送推送通知的接口的二进制接口 您可以通过以下方式访问生产反馈服务feedback push appl
  • Spring @Validated 在服务层

    Hej 我想使用 Validated group Foo class 在执行方法之前验证参数的注释 如下所示 public void doFoo Foo Validated groups Foo class foo 当我将此方法放入 Spr
  • 按位运算符简单地翻转整数中的所有位?

    我必须翻转整数的二进制表示形式中的所有位 鉴于 10101 输出应该是 01010 当与整数一起使用时 完成此操作的按位运算符是什么 例如 如果我正在编写类似的方法int flipBits int n 什么会进入身体 我只需要翻转数字中已经
  • 如果主引用指向 null,WeakReference 或 SoftReference 有何不同

    我正在读关于WeakReference https docs oracle com javase 10 docs api java lang ref WeakReference html and SoftReference https do
  • Ant 中回显目标描述

  • 如何添加 Java 正则表达式实现中缺少的功能?

    我是 Java 新手 作为一名 Net 开发人员 我非常习惯Regex Net 中的类 Java 实现Regex 正则表达式 还不错 但它缺少一些关键功能 我想为 Java 创建自己的帮助器类 但我想也许已经有一个可用的了 那么 是否有任何
  • 为什么Java中的文件名与公共类名相同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Java中 文件名应该与文件名相同public class包含在该文件中 为什么这是一个限制 它有什么目的 Java 有一个有趣的方法 如果给
  • 如何使用 zio-test 测试异常情况

    我有以下功能 我想测试 def people id Int RIO R People 如果有 People 则此函数返回 Peopleid 分别 如果没有则失败 例如 IO fail ServiceException s No People
  • 为本地@ExceptionHandler编写JUnit测试

    我有以下控制器 class Controller ResponseStatus HttpStatus OK RequestMapping value verifyCert method RequestMethod GET public vo
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • Hazelcast:连接到远程集群

    我们有一组 Hazelcast 节点 全部运行在一个远程系统 具有许多节点的单个物理系统 上 我们希望从外部客户端连接到该集群 一个 Java 应用程序 它使用如下代码连接到 Hazelcast ClientConfig clientCon
  • JPA 的 Hibernate 查询提示

    我一直在尝试为所有可以通过设置的提示找到一个明确的资源Query setHint String Object JPA 中的方法调用 但我一无所获 有人知道一个好的参考吗 See 3 4 1 7 查询提示 http docs jboss or
  • 默认情况下,JSF 生成不可用的 ID,这些 ID 与 Web 标准的 CSS 部分不兼容

    活跃的 JSF 或 Primefaces 用户能否解释一下为什么默认情况下会发生这种情况 为什么没有人对此采取任何措施
  • EJB 中 @Stateless 相对于 @Singleton 的真正用例是什么

    如果我正确理解EJB Singleton实际上与普通Java中的Singleton相同 也是spring中的单例 gt 一个实例 每个调用同时通过同一个实例 Stateless 声明一个 bean 它可以 但不得 具有多个实例 但限制是一个
  • 单元测试、集成测试还是设计中的问题?

    我编写了我的第一个单元测试 我认为它过于依赖其他模块 我不确定是否是因为 这是一个复杂的测试 我实际上已经编写了集成测试或 我的设计有问题 我首先要说的是 虽然我有大约 4 年的开发经验 但我从未学过 也没有人教过自动化测试 我刚刚使用 H
  • Java 常量枚举[重复]

    这个问题在这里已经有答案了 可能的重复 理解 Java 中的枚举 https stackoverflow com questions 1419835 understanding enums in java 为什么我们应该使用枚举而不是 Ja
  • 动态创建 JSON 对象

    我正在尝试使用以下格式创建 JSON 对象 tableID 1 price 53 payment cash quantity 3 products ID 1 quantity 1 ID 3 quantity 2 我知道如何使用 JSONOb
  • 如何在apache POI中读取excel文件的准确单元格内容

    当我读取单元格的内容时 例如如果它是日期格式 它会转换为另一个值 例如 12 31 2099 gt 46052 和 50 00 gt 50 和 50 00 gt 0 5 但我想要的是获取每个单元格的确切字符串值 我的代码是这样的 cell
  • 在 for 循环比较中使用集合大小

    Java 中 Collections 的 size 方法是否有编译器优化 考虑以下代码 for int i 0 i

随机推荐

  • JAVA如何连接redis以及Springboot整合redis详解

    1 java连接redis 1 1 java连接单机redis 首先创建一个普通的maven工程 1 引入依赖
  • 我发现了一个很好看的字体,霞鹜文楷!如何换windows和typora字体?

    1 字体 官方地址如下 下载也很简单 https github com lxgw LxgwWenKai 有1W多的stars 方式 直接打包下载 下载不来 可以联系在下面留言 然后ttf的文件 全部安装就行了 2 更换系统字体 然后换win
  • Codeforces Round 871 (Div. 4)G. Hits Different

    G Hits Different 题意 给一个如图所示的三角形 输入n 击倒方块n 获得分数n n 同时方块n上面的两个方块也会落下 同时获得这两个方块的分数 一直向上走 知道方块1 如图所示为n 9的时候掉落的方块 求获得的分数 思路 先
  • python对csv文件取特定列生成新csv文件

    import csv import os def file name in file out file reader csv reader in file header next reader data header format head
  • 用C语言写一个类似天天酷跑游戏(图形库用easyx)

    1 头文件 全局变量和结构体 a 玩家结构体 b 枚举玩家三种状态 奔跑 跳跃 滑行 c 障碍物结构体 d 障碍物结点 e 枚举出障碍物类型 include
  • Java做运维之配置多服务器间SSH免密登录

    Java做运维之配置多服务器间SSH免密登录 说明 第一步 引入依赖 第二步 编写核心操作类 1 RmtShellExecutor 2 CommonStringUtil 3 IoUtil 4 SshAccount 5 SshNoPwdUti
  • HTML、CSS及JS之间的区别浅谈

    HTML CSS 和 JS 是构建网页的三种核心技术 HTML Hypertext Markup Language 是一种标记语言 用于描述网页的结构和内容 通过 HTML 开发人员可以创建网页元素 例如标题 段落 列表 链接和图像等 CS
  • 嵌入式开发之移植MQTT到RK3568

    目录 前言 一 下载qmqtt源码 二 编译库文件 三 移植到RK3568 3 1 移植动态库libQt5Qmqtt 四 联机测试 4 1 制作demo 4 1 1 创建demo新项目 4 1 2 添加network模块支持 4 1 3 添
  • Mac下编译WebRTC(Mac和iOS版本)

    前言 随着新冠疫情的影响 这两年音视频的需求呈爆发式增长 在音视频领域中 WebRTC可以说是一个绕不开宝库 包括了音视频采集 编解码 传输 渲染的全过程 本文主要记录下在Mac平台上编译WebRTC Mac和iOS版本的全过程 设置代理
  • 网页设计大作业-五子棋游戏,可以进行双人对弈

    游戏如下动态图 下载链接在文末 点我免积分下载资源 资源链接 https download csdn net download weixin 43474701 34854310
  • tp886n设置虚拟服务器,TP-Link TL-WR886N V4-V5设置虚拟服务器方法

    本文主要介绍了TP Link TL WR886N V4 V5路由器上 设置虚拟服务器 端口映射 的方法 注意是V4 0和V5 0版本的TL WR886N路由器上虚拟服务器设置方法 因为 目前TL WR886N路由器有V2 0 V3 0 V4
  • 【华为OD机试真题 JAVA】第k个排列

    JS版 华为OD机试真题 JS 第k个排列 标题 第k个排列 时间限制 1秒 内存限制 262144K 语言限制 不限 给定参数n 从1到n会有n个整数 1 2 3 n 这n个数字共有 n 种排列 按大小顺序升序列出所有排列情况 并一一标记
  • vue 子组件未渲染完成,通过refs调用报错,解决办法。

    在 Vue 中 如果父组件调用子组件的方法时因为子组件未渲染完成而出现错误 一种解决方法是使用 nextTick 方法来等待子组件渲染完成后再进行操作 具体做法如下 在父组件中使用 ref 属性给子组件命名 例如 在模板中给子组件命名为 m
  • C++调用Python程序,无法解析的外部符号 __imp___Py_RefTotal

    C 调用python程序时 出现如下问题 无法解析的外部符号 imp Py RefTotal 无法解析的外部符号 imp Py NegativeRefcount 该符号在函数 import array 中被引用 这是由于安装的python为
  • Linux运维实战:Linux清理僵尸进程

    一 僵尸进程简介 官方解释 当子进程比父进程先结束 而父进程又没有回收子进程 释放子进程占用的资源 此时子进程将成为一个僵尸进程 一般在系统中僵尸进程的关键字为defunct或者dead 僵尸进程一般指进程已经死了或者已经停止运行了 但是它
  • Netty---入门程序,搭建Websocket 服务器

    Netty 常用的场景 1 充当HTTP 服务器 但Netty 并没有遵循servlet 的标准 反而实现了自己的一套标准进行Http 服务 2 RPC 远程调用 在分布式系统中常用的框架 3 Socket 长连接 需要了解的名词 1 Ni
  • 什么是RPC并实现一个简单的RPC

    1 基本的RPC模型 主要介绍RPC是什么 基本的RPC代码 RPC与REST的区别 gRPC的使用 1 1 基本概念 RPC Remote Procedure Call 远程过程调用 简单的理解是一个节点请求另一个节点提供的服务 本地过程
  • screen 使用

    screen 是一款能够实现多窗口远程控制的开源服务程序 基本使用 安装screen yum install screen 创建blackup会话 scrren S blackup 查看已有会话列表 screen ls 恢复会话 scree
  • RabbitMQ消息确认机制

    消息确认 基本流程 说明 生产者发送消息到RabbitMQ Server后 RabbitMQ Server需要对生产者进行消息Confirm确认 消费者消费消息后需要对 RabbitMQ Server进行消息ACK确认 消息确认模式 Rab
  • iterable java_如何在Java中将Iterable转换为Collection?

    iterable java There are various ways to convert Iterable to Collection in Java programming language 有多种方法可以用Java编程语言将Ite