2016-12-01 13 views
-1

ファイルの内容を読み込んで、ファイルの各行をカスタムArrayListに保存したいと考えています。ファイルの内容は同様である:JavaでカスタムArrayListから特定の文字列を取得するには?

1 Marwan male 22 

2 Julia female 18 

3 John male 19 

4 William male 21 

5 Mia female 20 

これは私がこれまでにやったことです:

public static ArrayList<st> myArray = new ArrayList<st>(); 
public static st s = new st(); 

s.id=lineScan.next(); 
s.name=lineScan.next(); 
s.gender=lineScan.next(); 
s.age=lineScan.nextInt(); 
myArray.add(s); 

class st { 
    String id; 
    String name; 
    String gender; 
    int age; 
} 

私は性別が男性であるたびのためのs.name文字列を取得し、それらをプリントアウトしたいです一緒に、女性の性別と同じことを行うが、私は配列リストから特定の文字列を取得する方法がわからない。

+0

はい、私はそれを編集しました –

+0

あなたの質問は、arraylistから値を取得する方法ですか? ['ArrayList#get(int index)'](https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int))を使用してください。たとえば、 'System.out.print(myArray.get(0).name);'のようになります。 – Gendarme

+0

私はそれを試してみましたが、それはリスト –

答えて

0

のようにそれを行うだろうAbacusUtil

Stream.of(IOUtil.readLines(new File(filePath))) 
    .map(line -> Splitter.with(" ").trim(true).splitToArray(line)) 
    .groupBy(a -> a[1], a -> a[0], (a, b) -> a + ", " + b) 
    .forEach(N::println); 
// output: 
// female=Julia, Mia 
// male=Marwan, John, William 

宣言によってコードです:私はAbacusUtilの開発者ですが。

0

私はここに、この

for(st s: myArray){ 
     System.out.println(s.gender+" "+s.name)} 
関連する問題