-1

我有一个 txt 文件,我需要将其读入内存 - 它在每行中以逗号分隔格式包含子名、年龄、身高的详细信息,如下所示 -


Alex,27,172
George, 45,180
...
..
要求是阅读详细信息并 提供-
1. 最高的孩子
的详细信息 2. 最矮的孩子
的详细信息 3. 孩子的详细信息最大
的 4. 最小的孩子的详细信息
5. 每个年龄段孩子的平均身高
6. 每个身高孩子的平均年龄

如何在 java 中提供有效的解决方案?

我已经尝试过使用 Pojos 列表(包含详细信息 - 姓名、年龄、身高)和 2 个年龄和身高比较器 - 在我对其进行排序之后,我得到了年龄最大/最小和最高/最短高度的子对象。有没有更有效的方法来做到这一点?
另外,如何分别找到与年龄/身高对应的平均身高/年龄?哪个系列更适合这里?

4

1 回答 1

0

由于您没有提供文件格式的详细信息,因此无法具体回答。

一般来说,我会创建一个包含各种细节的子类。从您的文件中读取每个子类并创建子类的一个实例。然后我会做类似以下的事情 -

class Children {

    private ArrayList<Child> children;

    public Children(ArrayList<Child> input){
        children = input;
        }

    public Child tallest(){
        Child tallest;
        for (Child child : children){
            if (tallest != null){
                if (child.getHeight() > tallest.getHeight()){
                    tallest = child;
                    }
                }
            else {
                tallest = child;
                }
            }
        return tallest;
        }

        etc...

有多种读取输入文件的方法……如果它以 xml 格式、csv 格式或中间有换行符的文本保存 - 每种方式都略有不同。

于 2013-09-17T19:22:08.033 回答