0

これが重複しているかどうかはわかりません。もしそうなら、私はまだ誰も見つけていないので、リンクを共有してください. 私の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]

だから私の質問は、これを順序どおりに取得する方法ですか? 可能な解決策はありますか?

4

2 に答える 2

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()) ;
}
于 2013-04-25T09:52:39.813 に答える
1

Apache 文字列ユーティリティとコレクション 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);
于 2013-04-25T10:11:19.433 に答える