读取CSV文件并按java中的字段对其进行排序(疑问和解释)

问题描述 投票:-1回答:1

我的问题是:

我有一个像这样结构的CSV文件:

1, “你好”,12.03,17.04

2, “亚当”,1.02,13.05

所以基本上这种模式是:

整数,字符串,双精度,浮点数

我有我的通用排序算法,我有这个CSV文件,如上所示。

如何将所有这些值存储到一个数组中,并根据我想要订购的字段按照我的算法对它们进行排序?

例如,我如何通过整数字段对CSV进行排序?

我读过有关Map,Tokenizer的内容,但我真的不明白。是否有一些善意能让我理解这样的事情?

java algorithm sorting csv arraylist
1个回答
2
投票

好吧让我们将这个问题分解为几个单独的步骤,每个步骤应该相当容易解决。

首先,您需要读取CSV文件。这很简单,有很多教程等用于阅读Java文件(例如http://www.tutorialspoint.com/java/java_files_io.htm)。

接下来你需要将它存储在某个地方。这可能是需要最多考虑的部分,因为您使用的任何数据结构都会影响您对其进行排序。您已声明需要将行存储在数组或arraylist中(从您的注释中),arrayList会稍微容易一些,因为它提供了一些帮助排序的方法。行本身可以用许多不同的方式表示,例如Map或@RC建议的自定义对象。

最后,您需要对数组(或arrayList)进行排序。你的问题表明你已经有了一个排序算法,所以根据你的接口,你可以直接将未排序的集合传递给它。或者,如果使用ArrayList,则可以使用sort()方法。这需要一个比较器,也是@RC的建议。这基本上只概述了排序时要遵循的规则,然后这些规则由sort()方法应用。

所以,长话短说,只需解决问题,决定使用哪些数据结构,从那里你应该能够在线找到大量的教程来指导你完成每个步骤。

这似乎是一个家庭作业问题所以我不想为你编写任何代码,但希望这能指出你正确的方向。

© www.soinside.com 2019 - 2024. All rights reserved.