在leetcode上刷题时,经常遇到字符串转数组或者集合,
1、有助于手敲代码。
如果有编辑器,还可以借助编辑器带出来;如果直接手敲,可能好多方法都记不大清;
2、有助于快速选择合适容器。
对各种容器的方法信手拈来,可以快速在脑中构建处理问题的方法。

经常用的容器

String
Array
Collection接口有 3 种子类型集合:List,Set,Queue

数组转List

String[] s = {“aa”,“bb”,“cc”};
List strlist = Arrays.asList(s);

但是注意:
(1)该方法不适用于基本数据类型(byte,short,int,long,float,double,boolean),可以是integer。
(2)该方法将数组与列表链接起来,当更新其中之一时,另一个自动更新
(3)不支持add和remove方法.Arrays.asList() 返回一个受指定数组决定的固定大小的列表。

如果想再做增删操作呢?将数组中的元素一个一个添加到列表,这样列表的长度就不固定了,可以进行增删操作。
List staffsList = new ArrayList();
for(String temp: staffs){
staffsList.add(temp);
}
staffsList.add(“Mary”); // ok
staffsList.remove(0); // ok

数组转Set

String[] staffs = new String[]{“Tom”, “Bob”, “Jane”};
Set staffsSet = new HashSet<>(Arrays.asList(staffs));
staffsSet.add(“Mary”); // ok
staffsSet.remove(“Tom”); // ok

List转数组

String[] staffs = new String[]{“Tom”, “Bob”, “Jane”};
List staffsList = Arrays.asList(staffs);

Object[] result = staffsList.toArray();

List转Set

String[] staffs = new String[]{“Tom”, “Bob”, “Jane”};
List staffsList = Arrays.asList(staffs);

Set result = new HashSet(staffsList);

Set转数组

String[] staffs = new String[]{“Tom”, “Bob”, “Jane”};
Set staffsSet = new HashSet<>(Arrays.asList(staffs));

Object[] result = staffsSet.toArray();

Set转List

String[] staffs = new String[]{“Tom”, “Bob”, “Jane”};
Set staffsSet = new HashSet<>(Arrays.asList(staffs));

List result = new ArrayList<>(staffsSet);

Collection

java中集合,数组,字符串相互转换--待续。。。
Collection接口是 (java.util.Collection)是Java集合类的顶级接口之一,整个集合框架就围绕一组标准接口而设计.
Collection 接口有 3 种子类型集合: List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、LinkedList、HashSet、LinkedHashSet、ArrayBlockingQueue等,下面是Collection的所有方法。
java中集合,数组,字符串相互转换--待续。。。
这些方法即可以操作Set集合,也可以操作Queue和List集合.

相关文章: