【发布时间】:2013-04-25 09:46:58
【问题描述】:
我不知道这是否重复。如果是这样,请分享链接,因为我还没有找到任何人。 在我的 Java 程序中,我有一个类似以下的字符串(字符串是动态创建的)。
String header="Requirements ID,Requirements Number,Requirements Desc,Requirements Text,Requirements Date";
现在我正在创建一个列表
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]
所以我的问题是如何以有序的方式得到这个?任何可能的解决方案?
【问题讨论】:
-
您要查找的排序的定义是什么?它似乎不是纯粹的字母/字典顺序,这将是“排序”的通常定义。
-
非字母排序。看看字符串是怎样的。第一个是
Requiremtns ID但在我得到的列表中,第一个是Requirements Number。那么如何按照字符串值内容的确切顺序获取列表呢? -
当我运行你的代码时,我得到的输出是
[Requirements ID,Requirements Number,Requirements Desc,Requirements Text,Requirements Date]你所期望的。 -
但我不是那样的。
-
所有实现List接口的东西都是有序的,包括ArrayList。您显示的代码示例应该可以工作。您的代码可能使用了一个名为“header”的不同变量,这会导致此错误。
标签: java arrays list arraylist