list转化为set

问题描述:如何利用Java代码实现List集合转换成Set集合 大家好,小编为大家解答list转化为json字符串的问题。很多人还不知道list转化为字符串,现在让我们一起来看看吧!

Java中Set 和List两个集合怎样互相转化

list转化为set的相关图片

Set和List都是接口,都实现了Collection接口和Iterable接口。

两者的转换不常进行,通过集合的 addAll() 方法可以实现。

/**

* List和Set的转化(Set转化成List)。

*/

public static <T> List<T> SetToList(Set<T> set) {。

    List<T> list = new ArrayList<>();。

    list.addAll(set);// 转换核心。

    return list;。

如何实现List,Set,数组间的相互转化的相关图片

如何实现List,Set,数组间的相互转化

import java.util.HashSet;import java.util.Set;。

public class tes {。

public static void main(String[] args) {。

//set集合,元素是不重复的。通过equal判断是否相等。

//如果是自定义的对象,需要重写equal和hashcode方法。

Set set = new HashSet();。

set.add("sina");。

set.add("baidu");。

set.add("baidu");。

System.out.println(set.toString());。

set.remove("baidu");。

System.out.println(set.toString());。

======

结果:

[baidu, sina]

[sina]

Java中Set 和List两个集合怎样互相转化的相关图片

Java中Set 和List两个集合怎样互相转化

转换其实很简单,SET集合里面的元素是不重复的赚LIST是比较容易的。

比如:

一个set集合A 要转换成一个LIST集合。

那么可以这么写

List list = new ArrayList(A);。

这样就能转换完成

C#中List怎么转换成hashset的相关图片

C#中List怎么转换成hashset

Set和List都是接口,他们的取得都必须是实现了Collection接口和Iterable接口的类。只要是实现了这两个接口的类都就可以实现取得Set接口对象和List接口的目的。

我只用过Set,觉得他们用的地方不一样,所以应该是不能转换的。

真正要进行转换的话,就应当是用实现了Collection接口和Iterable接口的集合对象去取得这两个接口的对象吧。

Set集合转化List集合

类似的问题被提了很多遍了,你可以从根子上这样看:

HashSet<T>的构造方法之一是HashSet<T>(IEnumerable<T> collection),这说明哈希集可以在构造时通过传入一个有着*元素类型为T的可枚举的集合*完成初始化。

如1楼所示,List<string> _dd其实本身就继承有IEnumerable<string>接口,所以不要使用Linq的cast系列方法,你只需要一行:

HashSet<string> _ss=new HashSet<string>(_dd);。

大多数的集合类型都可以这样通过构造来初始化。

由于这种转换是结构上的转换而非值的转换,所以绝大多数情况下都需要new一下目标对象,指望List<T>自己提供转换结构的方法是不靠谱的。

此外要说一句,你说的“地球人都知道”没有错,但是它还真的不慢哟。要知道,即使是使用上述构造方法,本质上来说CLR也是通过一个一个枚举_dd的元素并添加到_ss去的,两种方法在代码量上有差距,但是执行效率上几乎相等的。(因为编译时代码会自动优化的)

真的要使用大数据(如含有10万string的List<string>),请勿使用上述两种方法(因为都慢),你需要学习Parallel系列的并行处理,可以理解为一种能够利用到所有CPU核心的多线程处理。

原文地址:http://www.qianchusai.com/list%E8%BD%AC%E5%8C%96%E4%B8%BAset.html

cuboctahedron

cuboctahedron

父亲是b型血孩子是什么血型,血型a和血型b生的孩子是什么血型

父亲是b型血孩子是什么血型,血型a和血型b生的孩子是什么血型

缘分拆解-20,缘分解释一下

缘分拆解-20,缘分解释一下

怪物猎人p3全素材存档,怪物猎人p3的存档文件放在哪

怪物猎人p3全素材存档,怪物猎人p3的存档文件放在哪

若淳-30,若淳名字的含义

若淳-30,若淳名字的含义

Giddyap-50

Giddyap-50

大三-110,大三考研成功大四还要上吗

大三-110,大三考研成功大四还要上吗

checkinglist

checkinglist

Peking,peking有侮辱的意思吗

Peking,peking有侮辱的意思吗

笑死人的小学生考卷,让人笑喷的小学生答题试卷

笑死人的小学生考卷,让人笑喷的小学生答题试卷