Java中Map接口的子接口SortedMap
SortedMap中key存储的特点:无序不可重复,可以按照元素的大小顺序自动排序。SortedMap中的key等同于SortedSet。
SortedMap中的key特点:无序不可重复,但是存进去的元素可以按照大小自动排列。
import java.util.*;
public class SortedMapTest {
public static void main(String[] args) {
SortedMap sm = new TreeMap();
Product p1 = new Product("jkl",2.0);
Product p2 = new Product("asd",3.0);
Product p3 = new Product("zxc",4.0);
Product p4 = new Product("rty",5.0);
sm.put(p1,8.0);
sm.put(p2,6.9);
sm.put(p3,3.4);
sm.put(p4,2.2);
//遍历
Set keys = sm.keySet();
Iterator it =keys.iterator();
while (it.hasNext()){
Object k = it.next();
Object v = sm.get(k);
System.out.println(k+"--->"+v);
}
}
}
//如果想自动排序:key部分的元素需要,1,实现Comparable接口. 2.单独写一个比较器.
class Product implements Comparable{
String name;
double price;
public Product(String name, double price) {
this.name = name;
this.price = price;
}
@Override
public String toString() {
return ("价格是"+price+"name是"+name);
}
@Override
public int compareTo(Object o) {
double price1 = this.price;
double price2 = ((Product)o).price;
if(price1 < price2)
return -1;
else if (price1>price2)
return 1;
else return 0;
}
}