1.将Array转换为ArrayList
将数组转换为ArrayList,经常这样做:
- 1
- 1
Arrays.asList()会返回一个ArrayList,但返回的这个ArrayList是Arrays类内部的一个静态私有类,而不是java.util.ArrayList类。java.until.Arrays.ArrayList类有set(),get(),contain()方法,但是没有添加元素的任何方法,所以它的大小是固定的。所以为了创建一个真实的ArrayList,应该:
- 1
- 1
ArrayList的构造器可以接受一个集合类型,它也是java.util.Arrays.ArrayList的超类。
2 .检查数组是否包含某值
开发时经常这样做:
- 1
- 2
- 1
- 2
代码是正常运行的,但是将一个list转换为set是没有必要的。将list转换为set需要花费额外的时间。所以这可以优化为:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
当然,第一个比第二个是更可读的。
3. 在循环里面从一个List里移出元素 -- 使用迭代器方式
ArrayList
<
String
>
list
=
new
ArrayList
<
String
>
(Arrays
.
asList(
"a"
,
"b"
,
"c"
,
"d"
));
Iterator
<
String
>
iter
=
list
.
iterator();
while
(iter
.
hasNext()){
String
s
=
iter
.
next();
if
(s
.
equals
(
"a"
))
list
.
remove(s);
}
待补充。。。