Java:对文本文件行进行排序

2024-04-11

我正在使用 eclipse,并且尝试对大约 40 行的文本文件进行排序,如下所示:

1,Terminator,1984,Schwarzenegger
2,Avatar,2009,Worthington
3,Avengers,2012,Downey
4,Starwars,1977,Hammill
5,Alien,1979,Weaver

我想按第二个字段的字母顺序对它们进行排序,以便文本文件更改为如下所示:

5,Alien,1979,Weaver
2,Avatar,2009,Worthington
3,Avengers,2012,Downey
4,Starwars,1977,Hammill
1,Terminator,1984,Schwarzenegger

我相当确定我应该做一些涉及对它们进行标记(我已经完成了显示它)和 BufferedWriter 的事情,但我一生都无法想出一种方法来通过第二个或第三个字段来做到这一点我觉得我错过了一些明显的东西。


当然,您首先需要读取一个文件,您可以在此处了解如何操作。
Java:如何读取文本文件 https://stackoverflow.com/questions/2788080/reading-a-text-file-in-java/2790621#2790621

这个例子将提供几种方法,您可以写入文件一旦你对数据进行了排序。
如何用 Java 创建文件并写入文件? https://stackoverflow.com/questions/2885173/java-how-to-create-and-write-to-a-file/2885254#2885254

至于排序,我建议创建一个 Movie 类,它看起来类似于

public class Movie implements Comparable<Movie> {  
    private String name;
    private String leadActor;
    private Date releaseDate;

    public Movie(String name, String leadActor, String releaseDate) {

    }

    @Override
    public int compareTo(Movie other) {

    }
}  

我将让您填写构造函数和compareTo 方法的其余部分。一旦你有了compareTo方法,你将能够调用Collections.sort(List list)来传递你的电影列表。

这里有一些资源实施可比性.
http://docs.oracle.com/javase/tutorial/collections/interfaces/order.html http://docs.oracle.com/javase/tutorial/collections/interfaces/order.html
为什么Java类应该实现comparable? https://stackoverflow.com/questions/3718383/java-class-implements-comparable/3718515#3718515

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:对文本文件行进行排序 的相关文章

随机推荐