根据List中单个对象的某方法进行去重
来源:互联网 发布:杭州 餐厅 知乎 编辑:程序博客网 时间:2024/05/03 17:43
public static void main(String[] args){List<TQxtjEntity> list = new ArrayList<TQxtjEntity>();TQxtjEntity t1 = new TQxtjEntity("n1","1");TQxtjEntity t2 = new TQxtjEntity("n2","2");TQxtjEntity t3 = new TQxtjEntity("n2","2");TQxtjEntity t4 = new TQxtjEntity("n3","2");TQxtjEntity t5 = new TQxtjEntity("n1","3");TQxtjEntity t6 = new TQxtjEntity("n1","3");list.add(t1);list.add(t2);list.add(t3);list.add(t4);list.add(t5);list.add(t6);List<TQxtjEntity> li = removeRepeat(list,"com.kingtopinfo.qxgl.entity.TQxtjEntity","getName");System.out.println(li.size());}/** * 根据oldList中单个对象的某方法进行去重 * @param oldList * @param className * @param methodName * @return */private static <T> List<T> removeRepeat(List<T> oldList,String classALLName,String methodName){try {//①找到类:Class cl = Class.forName(classALLName);//②创建对象(要求这个类中含有空参数的构造方法):Object obj = cl.newInstance();//③根据名称和参数找方法:Method method1 = cl.getMethod(methodName);//④在某个对象上面执行方法,//Object result = method1.invoke(obj);List<T> newList = new ArrayList<T>();for(int i=0; i<oldList.size(); i++){boolean tf = false;for(int j=0; j<newList.size(); j++){if(method1.invoke(newList.get(j)).equals(method1.invoke(oldList.get(i)))){tf = true;break;}}if(!tf){newList.add(oldList.get(i));}}return newList;} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}
0 0
- 根据List中单个对象的某方法进行去重
- List列表中根据某一个字段,进行去重!
- List<E>根据对象某属性去重
- list中对象去重
- list<Dto>根据某字段去重
- java list 根据对象一个字段去重
- Java中List合并去重的简单方法
- python中对list去重的多种方法
- List<对象>去重
- List<对象>去重
- list对象去重
- 对list对象进行去重操作,并排序
- 根据list<Map<String,String>>中map的某个属性去重
- 数组中包含对象的去重方法
- python list去重的方法
- List集合去重的一种方法
- list集合去重的一种方法
- List去重的几种方法
- SWF FLASH的param属性和属性的详解
- 利用MATLAB截取图片某个区域
- Android 监听EdText的变化,过滤显示数据
- Trie树(字典树)(1)
- 使用Archetype创建自己的plugin
- 根据List中单个对象的某方法进行去重
- 为什么你应该停止使用EventBus
- 跟我一起透彻理解template模板模式
- mysql常见错误
- Luajit2.0.4 Build错误
- iOS的socket开发so
- Spring Security HelloWord
- AngularJS笔记
- ListView分页加载