您的位置:首页 > 编程语言 > Java开发

Java基础学习笔记(九)Comparable接口、Map接口、泛型

2010-12-28 21:19 666 查看

Comparable接口

实现Comparable接口的类,对象之间可以比较大小。
Comparable接口中只有一个方法
public int compareTo(Object obj);
该方法:返回 0 表示this == obj
返回正数表示this > obj
返回负数表示this > obj
实现了Comparable接口的类通过compareTo方法确定对象的排序方式。
可以通过sort()方法排序。

数据结构的选择:
衡量标准:读的效率和改的效率
Array读快写慢
Linked改快读慢
Hash两者之间

Map接口

实现了Map接口的类用来存储键-值对。
Map接口的实现类有HashMap和TreeMap等。
Map类中存储的键-值对通过键来标识,所以键值不能重复。
Object put(Object key,Object value);//如果key已经存在,则返回原key的值value
Object get(Object key);
Object remove(Object key);
boolean containsKey(Object key);
boolean containsValue(Object value);
int size();
boolean isEmpty();
void putAll(Map t);
void clear();
用hashCode()方法来比较。

泛型:

增强程序的可读性和稳定性
在定义集合时同时定义集合中对象的类型
示例:
import java.util.*;
public class TestArgsWords{
private static final int ONE = 1;
public static void main(String[] args){
Map<String, Integer> m =new HashMap<String, Integer>(); //泛型
for(int i = 0;i < args.length;i++){
int freq = (Integer) m.get(args[i]) == null ? 0:(Integer) m.get(args[i]);
m.put(args[i], freq + 1);
}
System.out.println(m.size() + " distinct words detected:");
System.out.println(m);
}
}
可以在定义Collection的时候指定
也可以在循环时使用Iterator指定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: