代码
package 数据结构;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Collections;
public class Jukebox2 {
ArrayList<String> songList = new ArrayList<String>();
public static void main(String[] args) {
new Jukebox2().go();
}
public void go() {
getSongs();
System.out.println(songList);
Collections.sort(songList);//调用Collection静态的sort()方法,然后在列出清单
System.out.println(songList);//第二次的输出并按照字母排序
}
private void getSongs() {
// TODO Auto-generated method stub
try {
File file=new File("SongList.txt");
BufferedReader reader = new BufferedReader (new FileReader(file));
String line =null;
while ((line = reader.readLine()) !=null) {
addSong(line);
}
} catch(Exception ex) {
ex.printStackTrace();
}
}
private void addSong(String lineToParse) {
// TODO Auto-generated method stub
String[] tokens = lineToParse.split("/");
songList.add(tokens[0]);
}
}
SongList.txt
Communication/The Cardigans
Black Dog/Led Zeppelin
Dreams/Van Halen
Comfortably Numb/Pink Floyd
Beth/Kiss
倒退噜/黄可令
运行结果
第一次直接输出
第二次按排序输出
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLyAjN5UTMxEDM5EjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
Collection的sort()方法
Collections类仅包含使用Collection结构的类的简单静态方法。sort方法只有一个输入参数,这是把list对象按照自然顺序排列(数字按1,2,3…字母按字典顺序等)
其他
ArrayList不是唯一的集合
虽然ArrayList会是最常用的,但偶尔还是会有特殊情况。
下面列出几个较为重要的
★TreeSet
以有序状态保持并可防止重复
★HashMap
可用成对的name/value来保存与取出
★LinkedList
针对经常插入或删除中间元素所设计的高效率集合
(实际上ArrayList还是比较实用)
★HashSet
防止重复的集合,可快速地找寻相符的元素
★LinkedHashMap
类似HashMap,但可记住元素插入的顺序,也可以
设定成依照元素上次存取的先后来排序。