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

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

2010-12-29 21:18 806 查看

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指定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息