Java学习-集合类-各种集合类之间的相互转换

转Set

存在意义

为了去重,一般都可以将List转化成Set。

一般做法

Set有个构造方法,入参是Collection。主要原理是,每个Collection都会有迭代器,通过迭代器,就可以按固定的顺序,遍历Collection,然后将每个对象插入到Set中。

List2Set

所以List转Set,一般是遍历List,然后一个一个插入。

Map2Set

对于Map的key转Set,可以通过Map.keySet()。对于Map的values,可以先通过Map.values(),获取一个关于value的Collection,然后通过迭代器,add到Set中。对于Map的Entry转Set,通过Map.entrySet()即可。

Array2Set

思想和List2Set差不多,先遍历,然后一个一个add进去。

转List

存在意义

一般很多接口的入参,都要求是List,当我们遇到Set类型时,就需要Set转List了。

一般做法

因为各个集合类,都会有迭代器,所以可以遍历,然后再一个一个存入到List中。

所以Set、Map、Array转List的时候,都可以用这个思路。基本上JDK自身的实现也是如此。对于Map转List,因为Map.keySet()、Map.values()、 Map.entrySet()等接口的存在,所以转List也是很方便的。

转载于:https://my.oschina.net/u/2895301/blog/836126

你可能感兴趣的:(java)