Convert String array to ArrayList
Possible Duplicate:
Converting array to list in Java
号
我想把String数组转换成ArrayList。例如,字符串数组如下:
1
| String[] words = new String[]{"ace", "boom", "crew", "dog", "eon"}; |
如何将此字符串数组转换为arraylist?
- +1;它现在是谷歌的第二个链接。
- arraylista=new arraylist<>(arrays.aslist(words));
- 你可以用三种基本的方法来完成。在Java 8中使用Copys.AdDALL、ARARIA.ASLIST和FISH——引用CODIEEEK.COM/JAVA/WORD到JAVA的转换数组
使用此代码,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class StringArrayTest {
public static void main (String[] args ) {
String[] words = {"ace", "boom", "crew", "dog", "eon"};
List <String > wordList = Arrays. asList(words );
for (String e : wordList ) {
System. out. println(e );
}
}
} |
- 总之,您所需要的只是行List wordList = Arrays.asList(words); 。这是正确的吗?
- @Keale如果words是一个字符串数组,那么,是的。
- 注意:array.aslist(…)创建一个抽象列表,而不是一个真正的列表。因此,您可以执行wordlist.sort((a,b)->a.length()-b.length()之类的操作,但不能执行wordlist.remove(0)或添加。这将引发UnsupportedOperationException。
- 此代码创建一个列表,但它不是数组列表。所以这是一个错误的答案。无法从该列表中删除元素->将引发异常。
- @vito我必须同意,除非有人告诉我为什么要将string[]转换为list,然后不更新list,否则这可能不是真正的问题的解决方案。
- @Jeff6Times7您可以在它上面使用集合API、lambda、过滤它、显示、连接、排序等等…等等,很多东西
- @维托,我被你的评论后面的句子弄糊涂了。如果你没有写下清单的变更,那么我就没有必要要求你澄清。当你说你不能从中删除的时候,我开始胡思乱想,你拒绝了答案,因为你不能从中删除。但是从中删除是无关的,因为它不是一个正确的答案。就这么简单。
- 问题是要转换为arraylist。它不生成该类类型。它生成实现列表而不是ArrayList的对象。前者或后者的用途是指文件或其他论坛。
- 记住我们不能改变单词表。添加("你不能")会击中你的头吗?????使用java.lang.UnsupportedOperationException。
- 我认为这个解决方案更好,因为Arrays.asList返回java.util.Arrays.ArrayList.ArrayList(T[]),所以如果你尝试add,你会得到java.lang.UnsupportedOperationException。
- 如果数组中的elemenet数量有限,则可以将其写入新的arraylist(arrays.aslist("abc","def"));
- 为了避免出现IDE警告,new ArrayList<>(...)为我工作,而不是new ArrayList(...)(注:<>)。
- 我的最佳答案。使用List wordList = Arrays.asList(words);时,执行wordList instanceof ArrayList将返回假。
使用集合addall()
1 2 3
| String[] words = {"ace", "boom", "crew", "dog", "eon"};
List <String > arrayList = new ArrayList <>();
Collections. addAll(arrayList, words ); |
。
- 我喜欢这个解决方案。它简洁明了。
- 我不知道为什么这不是公认的答案。
1 2
| String[] words = new String[]{"ace", "boom", "crew", "dog", "eon"};
List <String > wordList = Arrays. asList(words ); |
号
- 这里的结果是List,而不是ArrayList。
- @Markotopolnik你是对的,这需要包装,所以listwordlist=new arraylist(arrays.aslist(words));
在大多数情况下,List应该足够了。无需创建ArrayList。
1 2 3
| import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; |
。
…
1 2 3 4 5
| String[] words ={"ace", "boom", "crew", "dog", "eon"};
List <String > l = Arrays. <String >asList (words );
// if List<String> isnt specific enough:
ArrayList <String > al = new ArrayList <String >(l ); |