HeadFirst Java 学习笔记 数据结构2

代码

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
倒退噜/黄可令

运行结果

第一次直接输出
第二次按排序输出
代码运行结果

Collection的sort()方法

Collections类仅包含使用Collection结构的类的简单静态方法。sort方法只有一个输入参数,这是把list对象按照自然顺序排列(数字按1,2,3…字母按字典顺序等)

其他

ArrayList不是唯一的集合
虽然ArrayList会是最常用的,但偶尔还是会有特殊情况。
下面列出几个较为重要的

★TreeSet
以有序状态保持并可防止重复

★HashMap
可用成对的name/value来保存与取出

★LinkedList
针对经常插入或删除中间元素所设计的高效率集合
(实际上ArrayList还是比较实用)

★HashSet
防止重复的集合,可快速地找寻相符的元素

★LinkedHashMap
类似HashMap,但可记住元素插入的顺序,也可以
设定成依照元素上次存取的先后来排序。

posted @ 2018-12-19 01:19  LongBiu  阅读(89)  评论(0)    收藏  举报