好消息,百度网盘专业搜索网站上线了
打开瞧一瞧:
http://bitar.cn
package com.collection;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class SingleSort<E> {
/**
*
* @param list 要排序的集合
* @param method 要排序的实体的属性所对应的get方法
* @param sort desc 为正序
*/
public void Sort(List<E> list, final String method, final String sort) {
// 用内部类实现排序
Collections.sort(list, new Comparator<E>() {
public int compare(E a, E b) {
int ret = 0;
try {
// 获取m1的方法名
Method m1 = ((E)a).getClass().getMethod(method, new Class[]{});
// 获取m2的方法名
Method m2 = ((E)b).getClass().getMethod(method, new Class[]{});
if (sort != null && "desc".equals(sort)) {
ret = m2.invoke(((E)b), new Object[]{}).toString().compareTo(m1.invoke(((E)a),new Object[]{}).toString());
} else {
// 正序排序
ret = m1.invoke(((E)a), new Object[]{}).toString().compareTo(m2.invoke(((E)b), new Object[]{}).toString());
}
} catch (Exception ne) {
ne.printStackTrace();
}
return ret;
}
});
}
public static void main(String[] args) {
List<JavaBeanS> list = new ArrayList<JavaBeanS>();
JavaBeanS bean = new JavaBeanS(2,"张三","b");
list.add(bean);
bean = new JavaBeanS(1,"李四","d");
list.add(bean);
bean = new JavaBeanS(3,"王二","c");
list.add(bean);
bean = new JavaBeanS(4,"钱七","a");
list.add(bean);
SingleSort<JavaBeanS> sorter = new SingleSort<JavaBeanS>();
sorter.Sort(list, "getAddress", "desc");
for (JavaBeanS obj : list) {
System.out.println(obj.getId()+":"+obj.getName()+":"+obj.getAddress());
}
}
}
class JavaBeanS{
private String name;
private String address;
private int id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public JavaBeanS(int id,String name, String address) {
super();
this.name = name;
this.address = address;
this.id = id;
}
}
分享到:
相关推荐
集合(或容器)表示保存一个对象组的单个对象,其它对象被认为是它的元素。 集合与数组的不同在于,它是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。对象数组中包含一组对象,但是对象数组使用的...
Oracle数据库中,对已存在数据的表中插入单个字段信息。
java 提取单个字符 java 提取单个字符
Java开发案例-springboot-23-自定义注解实现post请求接收单个参数值-源代码+文档.rar Java开发案例-springboot-23-自定义注解实现post请求接收单个参数值-源代码+文档.rar Java开发案例-springboot-23-自定义注解...
java代码实现单个或多个文件压缩成rar包,本地要安装winRar插件。
java 调用存储过程返回单个值 采用预处理,可以传参数。
第2章 Java对象持久化技术概述 2.1 直接通过JDBC API来持久化实体域对象 2.2 ORM简介 2.2.1 对象-关系映射的概念 2.2.2 ORM中间件的基本使用方法 2.2.3 常用的ORM中间件 2.3 实体域对象的其他持久化模式...
单个集合的学习路线:使用->做实验->画图->分析源码 集合:大小可变的序列,只能存放对象 集合和数组的区别: 1.集合是大小可变的序列,数组在声明后,长度不可变 2.数组只能存放声明时指定的一种数据类型,集合...
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...
排序可以分为按单个字段排序和按多个字段不同排序方向排序。单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷。 多字段排序,实现的方式从大的层面上可以分为...
简单的实现了单个文件的上传与下载,内附使用方法
java利用Socket命令实现客户端与服务端通信
web项目基于Response对象实现。
主要介绍了java8从list集合中取出某一属性的值的集合案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
java实现邮件发送 可以单个发送 也可以多个发送
特别说明: Main方法是运行开始的方法,里面StopWatch是测速工具类,如果要想使用请导入相关maven坐标,不想使用直接删除即可。 内容概要: 这是随手写的一个利用线程池下载文件的小玩具,如果刚学完线程池不知道...
03_ibatis教程_查询指定id的单个对象.zip 03_ibatis教程_查询指定id的单个对象.zip
用于单个字段的简单对称加密插件。无依赖性,只有mongoose对等依赖性。
虽然您总要创建接口特定的实现,但访问实际集合的方法应该限制在接口方法的使用上;因此,允许您更改基本的数据结构而不必改变其它代码。框架接口层次结构如下图所示。 有的人可能会认为 Map 会继承 Collection。...
内容:(一)断点续传的原理 (二)Java实现断点续传的关键几点 (三)断点续传内核的实现