java 转换iterable_如何在Java中将Iterable转换为Collection?

有多种方法可以用Java编程语言将Iterable转换为Collection。在创建实用程序功能的帮助下通过使用for循环

通过使用forEach()可迭代的方法

通过使用迭代器

借助Java 8中的stream 的collect()方法借助实用程序功能

在此方法中,我们将显式更改或将Iterable转换为Collection(即,我们将手动获取对象中的每个元素)。

i)通过使用for循环//Java程序演示的例子

//将Iterable转换为Collection

import java.util.*;

import java.io.*;

public class ConvertIterableToCollection {

//这是用户定义的方法,用于

//将Iterable转换为Collection-

public static  Collection 

convertCollectionFromIterable(Iterable  iterable) {

//创建一个空白集合以保存结果

Collection  collect = new LinkedList  ();

//通过使用for循环遍历

//重复添加每个元素

for (T type: iterable)

collect.add(type);

return collect;

}

public static void main(String[] args) {

Iterable  itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);

System.out.println("The values of Iterable list are : " + itr);

Collection  coll = convertCollectionFromIterable(itr);

System.out.println("The values of Collection list are : " + coll);

}

}

输出结果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()

此方法在Java 8或更高版本中可用,因此它支持java8或更高版本。//Java程序演示的例子 converting

//通过使用forEach()Iterable将Iterable转换为Collection 。

import java.util.*;

import java.io.*;

public class ConvertIterableToCollection {

//这是用户定义的方法,用于

//将Iterable转换为Collection-

public static  Collection 

convertCollectionFromIterable(Iterable  iterable) {

//创建一个空白集合以保存结果

Collection  collect = new LinkedList  ();

//通过使用forEach()通过迭代

//可迭代地添加每个元素

iterable.forEach(collect::add);

return collect;

}

public static void main(String[] args) {

Iterable  itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);

System.out.println("The values of Iterable list are : " + itr);

Collection  coll = convertCollectionFromIterable(itr);

System.out.println("The values of Collection list are : " + coll);

}

}

输出结果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)使用迭代器//Java程序演示的例子

//使用Iterator将Iterable转换为Collection。

import java.util.*;

import java.io.*;

public class ConvertIterableToCollection {

//这是用户定义的方法,用于

//将Iterable转换为Collection-

public static  Collection 

convertCollectionFromIterable(Iterable  iterable) {

//创建一个空白集合以保存结果

Collection  collect = new LinkedList  ();

//通过使用Iterator获取Iterator-

Iterator  iterate = iterable.iterator();

//通过使用Iterator遍历可迭代

//将每个元素添加到集合中

while (iterate.hasNext())

collect.add(iterate.next());

return collect;

}

public static void main(String[] args) {

Iterable  itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);

System.out.println("The values of Iterable list are : " + itr);

Collection  coll = convertCollectionFromIterable(itr);

System.out.println("The values of Collection list are : " + coll);

}

}

输出结果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()方法的流

在此方法中,首先将Iterable转换为拆分器,然后在StreamSupport.stream()的帮助下遍历拆分器,然后借助collect()将其收集到Collection中。//Java程序演示的例子 stream() //与collect()将Iterable转换为Collection-

import java.util.*;

import java.io.*;

import java.util.stream.*;

public class ConvertIterableToCollection {

//这是用户定义的方法,用于

//将Iterable转换为Collection-

public static  Collection 

convertCollectionFromIterable(Iterable  iterable) {

//创建一个空白集合以保存结果

Collection  collect = new LinkedList  ();

return StreamSupport.stream(iterable.spliterator(), false).collect(Collectors.toList());

}

public static void main(String[] args) {

Iterable  itr = Arrays.asList(10.0, 20.0, 30.0, 40.0);

System.out.println("The values of Iterable list are : " + itr);

Collection  coll = convertCollectionFromIterable(itr);

System.out.println("The values of Collection list are : " + coll);

}

}

输出结果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]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值