Comparable接口、Map接口、泛型

本文详细介绍了Java中实现Comparable接口的类如何通过compareTo方法进行排序,并探讨了Array、Linked和Hash的数据结构特点。此外,还讲解了Map接口及其实现类HashMap和TreeMap的使用方法,包括键-值对的存储、检索和删除等操作。最后,通过示例展示了如何在定义集合时使用泛型来增强程序的可读性和稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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指定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值