2016-12-01 67 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)} 
相关问题