2Dの文字列配列をフィルタリングする方法 - Javaの

ヤン:

Iは、[] [] 2Dオブジェクト配列rowDataを有します

次のように配列が初期化されます。

List rows = new ArrayList();
while(rs.next()) {
   String[] row = new String[columnCount];
   for(int i = 1; i <= columnCount; i++){
      row[i-1] = rs.getString(i);
   }
   rows.add(row);
}
String[][] rowData = (String[][])rows.toArray(new String[rows.size()][columnCount]);
System.out.println(Arrays.deepToString(rowData));

私の出力が得られます。

[[AUDI, A1, 16890.0, BLAU, 6292, 2018-03-12, 82,  1.0 TFSI, BENZIN, KLEINWAGEN, 1, 9PGAUBB646B8BA022], [AUDI, A5, 39500.0, GOLD, 25000, 2016-07-04, 224, 2.0 TFSI, BENZIN, LIMOUSINE, 1, GWAUZZZ8P8BA06423]]

「アウディ」または「16890.0」などの具体的な基準をフィルタリングすることが可能ですか?私は、整数のみをフィルタリングするための助けを見つけました。前もって感謝します。

ニコラスK:

あなたは使ってそうすることがあります。

Arrays.stream(rowData).flatMap(Arrays::stream)
                      .filter(s -> s.equals("AUDI") || s.equals("16890.0"))
                      .forEach(System.out::println);

これは出力:

アウディ

16890.0

アウディ

16890.0

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=235092&siteId=1