来自 澳门新葡亰 2019-09-26 06:36 的文章
当前位置: 澳门新葡亰app > 澳门新葡亰 > 正文

也足以转List和Set群集

数组转List

String[] staffs = new String[]{"A", "B", "C"};List staffsList = Arrays.asList;//注意: Arrays.asList() 返回一个受指定数组决定的固定大小的列表。所以不能做 add 、 remove 等操作,否则会报错。List staffsList = Arrays.asList;staffsList.add("D"); // UnsupportedOperationExceptionstaffsList.remove; // UnsupportedOperationException//一下方式可以进行增删操作。List staffsList = new ArrayList<String>();for(String temp: staffs){  staffsList.add;}staffsList.add("D"); // okstaffsList.remove; // ok

区间、数组、集合之间转换

在Kotlin中区间、数组、集合都是描述一系列元素的集合。通过上面的学习,我们看到它们有不同的地方,也有相似的地方。其实只要把其中一个的学习思路把握了。学习其他依葫芦画瓢的事情。

实际上,区间、数组、集合之间还可以相互转换。

数组转Set

String[] staffs = new String[]{"A", "B", "C"};Set<String> staffsSet = new HashSet<>(Arrays.asList;staffsSet.add("D"); // okstaffsSet.remove; // ok

Range转Array、List、Set

区间可以转数组,也可以转List和Set集合。转数组通过arrayOf方法,转List通过toList方法,转Set通过toSet方法。

arrayOf方法,可以接收区间参数,返回数组,参考签名:

public inline fun <reified @PureReifiable T> arrayOf(vararg elements: T): Array<T>

toList方法,转换为List,参考签名:

public fun <T> Iterable<T>.toList(): List<T> {

}

toSet方法,返回Set,参考签名:

public fun <T> Iterable<T>.toSet(): Set<T> {

}

我们通过一个案例来验证下,参考代码:

图片 1

List转数组

String[] staffs = new String[]{"A", "B", "C"};List staffsList = Arrays.asList;Object[] result = staffsList.toArray();

Array转List、Set

数组可以转List和Set集合。转List通过toList方法,转Set通过toSet方法。

toList方法,转换为List,参考签名:

public fun <T> Iterable<T>.toList(): List<T> {



}

toSet方法,返回Set,参考签名:

public fun <T> Iterable<T>.toSet(): Set<T> {



}

我们通过一个案例来验证下,参考代码:

图片 2

List转Set

String[] staffs = new String[]{"A", "B", "C"};List staffsList = Arrays.asList;Set result = new HashSet(staffsList);

List转Array和Set

List可以转Array和Set集合。转Array通过toIntArray和toTypedArray,转Set通过toSet方法。

toIntArray方法,转换为Int数组,方法签名:

public fun Collection<Int>.toIntArray(): IntArray 
{
 }

toTypedArray方法,根据List中包含元素的类型转换为对应的集合,如果是List<String>转换为String数组,如果是List<Int>转换为Int数组,方法签名:

图片 3

这里用到了关键字reified,这个是在泛型里面会接受的知识点。

toSet方法,返回Set,参考签名:

public fun <T> Iterable<T>.toSet(): Set<T> {

}

我们通过一个案例来验证下,参考代码:

图片 4

Set转数组

String[] staffs = new String[]{"A", "B", "C"};Set<String> staffsSet = new HashSet<>(Arrays.asList;Object[] result = staffsSet.toArray();

Set转Array和List

Set可以转Array和List集合。转Array通过toIntArray和toTypedArray,转List通过toList方法。

toIntArray方法,转换为Int数组,方法签名:

public fun Collection<Int>.toIntArray(): IntArray 
{

 }

toTypedArray方法,根据List中包含元素的类型转换为对应的集合,如果是List<String>转换为String数组,如果是List<Int>转换为Int数组,方法签名:

图片 5

这里用到了关键字reified,这个是在泛型里面会接受的知识点。

toSet方法,返回Set,参考签名:

public fun <T> Iterable<T>.toSet(): Set<T> {

}

我们通过一个案例来验证下,参考代码:

图片 6

Set转List

String[] staffs = new String[]{"A", "B", "C"};Set<String> staffsSet = new HashSet<>(Arrays.asList;List<String> result = new ArrayList<>(staffsSet);

Map转Array、List和Set

Map可以直接转List集合,那么List中所转元素的类型就是Pair。Map想要转Array、List和Set只能先获取map的keys或者values进行换行。所用的方法还是之前提到的toList、toSet、toTypedArray,所以这里就不做过多解释了,直接演示下例子:

图片 7

图片 8

本文由澳门新葡亰app发布于澳门新葡亰,转载请注明出处:也足以转List和Set群集

关键词: