我不知道这是否重复。如果是这样,请分享链接,因为我还没有找到任何人。 在我的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]
所以我的问题是如何以有序的方式获得这个?任何可能的解决方案?
答案 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);