TreeMap与Properties
Posted koito
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeMap与Properties相关的知识,希望对你有一定的参考价值。
TreeMap的测试
向TreeMap中添加key-value,要求key必须是同一个类创建的对象
因为要按照key进行排序:自然排序、定制排序
自然排序(User类中实现了Comparable接口):
@Test
public void test1(){
TreeMap map = new TreeMap();
User u1 = new User("Tom", 23);
User u2 = new User("Jerry", 32);
User u3 = new User("Jack", 20);
User u4 = new User("Rose", 18);
map.put(u1,98);
map.put(u2,89);
map.put(u3,76);
map.put(u4,100);
Set entrySet = map.entrySet();
Iterator iterator1 = entrySet.iterator();
while (iterator1.hasNext()) {
Object o = iterator1.next();
Map.Entry entry = (Map.Entry) o;
System.out.println(entry.getKey() + "----->" + entry.getValue());
}
}
定制排序:
@Test
public void test2(){
TreeMap map = new TreeMap(new Comparator() {
@Override
public int compare(Object o1, Object o2) {
if (o1 instanceof User && o2 instanceof User) {
User u1 = (User)o1;
User u2 = (User)o2;
return Integer.compare(u1.getAge(),u2.getAge());
}
throw new RuntimeException("输入的类型不匹配!");
}
});
User u1 = new User("Tom", 23);
User u2 = new User("Jerry", 32);
User u3 = new User("Jack", 20);
User u4 = new User("Rose", 18);
map.put(u1,98);
map.put(u2,89);
map.put(u3,76);
map.put(u4,100);
Set entrySet = map.entrySet();
Iterator iterator1 = entrySet.iterator();
while (iterator1.hasNext()) {
Object o = iterator1.next();
Map.Entry entry = (Map.Entry) o;
System.out.println(entry.getKey() + "----->" + entry.getValue());
}
}
Properties的测试
Properties:常用来处理配置文件。key和value都是String类型
public static void main(String[] args) {
FileInputStream fis = null;
try {
Properties pros = new Properties();
fis = new FileInputStream("jdbc.properties");
pros.load(fis);//加载流对应的文件
String name = pros.getProperty("name");
String password = pros.getProperty("password");
System.out.println("name = " + name + ",password = " + password);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(fis != null) {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
以上是关于TreeMap与Properties的主要内容,如果未能解决你的问题,请参考以下文章