如何在有序列表<string>?</string>中返回Arrays.asList()

时间:2013-04-25 09:46:58

标签: java arrays list arraylist

我不知道这是否重复。如果是这样,请分享链接,因为我还没有找到任何人。 在我的Java程序中,我有一个像下面这样的字符串(String是动态创建的)。

String header="Requirements ID,Requirements Number,Requirements Desc,Requirements Text,Requirements Date";

现在我正在创建一个List

List<String> csv = new ArrayList<String>(); 
csv=Arrays.asList(header.split("\\s*,\\s*")); //splittng each phrase separated by comma

但我没有以无序的方式获得List值。我的意思是我得到像这样的列表值

[Requirements Number,Requirements Date,Requirements Desc,Requirements ID,Requirements Text]

我知道列表是无序的。但是我希望列表 csv 就像这样

[Requirements ID,Requirements Number,Requirements Desc,Requirements Text,Requirements Date]

所以我的问题是如何以有序的方式获得这个?任何可能的解决方案?

2 个答案:

答案 0 :(得分:2)

最好的方法是使用StringTokenizer

1。)使用 StringTokenizer ,用分隔符“,”分隔字符串

2。)迭代StringTokenizer并填写列表

3。)现在填充时,它将按顺序发生

伪代码就像

String header="Requirements ID,Requirements Number,Requirements Desc,Requirements Text,Requirements Date";
StringTokenizer st = new StringTokenizer(header,",") ;
List<String> strList = new ArrayList<String>() ;
while (st.hasNextToken()) {
  strList.add(st.nextToken()) ;
}

答案 1 :(得分:1)

使用apache string utils和collections api:

http://commons.apache.org/proper/commons-lang//apidocs/org/apache/commons/lang3/StringUtils.html

    String header="Requirements ID,Requirements Number,Requirements Desc,Requirements Text,Requirements Date";
    List<String> list = Arrays.asList(StringUtils.split(header,","));
    Collections.sort(list);