ClassLoader  loader  =  this.getClass().getClassLoader();

InputStream  in  =  loader.getResourceAsStream("jdbc.properties");

Properties p = new Properties();

try {

p.load(in);

for(Enumeration e=p.propertyNames(); e.hasMoreElements();){

String key=(String) e.nextElement();

String value=p.getProperty(key);

if (!props.containsKey(key)){

System.out.println("***************"+key+"===>"+value);

props.put(key, value);

}

}

} catch (IOException e) {

e.printStackTrace();

}

*******************************************

第一种是list中的对象实现Comparable接口

/**

* 根据order对User排序

*/

public class User implements Comparable{

private String name;

private Integer order;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getOrder() {

return order;

}

public void setOrder(Integer order) {

this.order = order;

}

public int compareTo(User arg0) {

return this.getOrder().compareTo(arg0.getOrder());

}

}

第二种方法是根据Collections.sort重载方法来实现

/**

* 根据order对User排序

*/

public class User { //此处无需实现Comparable接口

private String name;

private Integer order;

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getOrder() {

return order;

}

public void setOrder(Integer order) {

this.order = order;

}

}

Collections.sort(list,new Comparator(){

public int compare(User arg0, User arg1) {

return arg0.getOrder().compareTo(arg1.getOrder());

}

});

只能根据固定的属性排序,后者灵活,可以临时指定排序项,但是代码不够简洁

多字段的场合:

Collections.sort(list,new Comparator(){

public int compare(User arg0, User arg1) {

//            第一次比较专业

int i = arg0.getOrder().compareTo(arg1.getOrder());

//            如果专业相同则进行第二次比较             if(i==0){ //                第二次比较                 int j=arg0.getXXX().compareTo(arg1.getXXX()); //                如果学制相同则返回按年龄排序                 if(j==0){                     return arg0.getCCC().compareTo(arg1.getCCC());                 }                 return j;             }             return i;             }         });

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐