2016-12-01 97 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)} 
相關問題