使用List或Set创建一个简单数组

时间:2015-07-01 16:55:12

标签: java arrays

首先,我创建了对象Sample,如下所示:

public class Sample extends Model implements Comparable<Sample>{

public String content;

public Sample(String content) {
    this.content = content;
}
}

然后,我创建了一个Sample元素列表。毕竟,我想要的是能够创建一个简单的String数组,以便将这个字符串内容元素存储到一个简单的数组中来呈现它。我的想法是做一些事情:

String[] array = ...;
render(array);

此字符串的每个组件都是每个Sample元素的content字段。通过这样做,我可以“转移”这个数组以便以后使用它。我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

使用Java 8:

List<Sample> sampleList = ...;
String[] array = sampleList.stream()
    .map(Sample::getContent)
    .toArray(size -> new String[size]);

使用Java 7或更早版本:

List<Sample> sampleList = ...;
String[] array = new String[sampleList.size()];
int i = 0;
for (Sample sample : sampleList) {
    array[i++] = sample.getContent();
}

答案 1 :(得分:0)

使用toArray()方法将Array转换为arraylist。

// create an empty array list with an initial capacity
   ArrayList<Strng> arrlist = new ArrayList<String>();

   // use add() method to add values in the list
   arrlist.add("Anil");
   arrlist.add("Vinod");
   arrlist.add("Jaya");
   arrlist.add("Arun");


   // toArray copies content into other array
   String list2[] = new String[arrlist.size()];
   list2 = arrlist.toArray(list2);

答案 2 :(得分:0)

只是一个建议,如果你只需要创建一个内容数组,为什么不从Sample对象创建一个List然后调用.toArray()。我在这里错过了什么吗?