`
弦上的福音
  • 浏览: 20576 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

对象的操作

    博客分类:
  • java
阅读更多
把一堆数据整理出来,根据value分类:
对象实体类

public class TestObj {
	private String title ;
	private String value;
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getValue() {
		return value;
	}
	public void setValue(String value) {
		this.value = value;
	}
	
	
}




伪Map类:
import java.util.List;

public class Wmap {
	private String key;
	private List<TestObj> value;

	public String getKey() {
		return key;
	}

	public void setKey(String key) {
		this.key = key;
	}

	public List<TestObj> getValue() {
		return value;
	}

	public void setValue(List<TestObj> value) {
		this.value = value;
	}



}



测试类:

import java.util.ArrayList;
import java.util.List;

public class Distinct {

	public static void main(String[] args) {
		// ------------------------------------------- 准备数据
		TestObj tobj1 = new TestObj();
		tobj1.setTitle("tttt");
		tobj1.setValue("1");

		TestObj tobj2 = new TestObj();
		tobj2.setTitle("qqq");
		tobj2.setValue("2");
		
		TestObj tobj3 = new TestObj();
		tobj3.setTitle("www");
		tobj3.setValue("3");

		List<TestObj> lo = new ArrayList<TestObj>();
		lo.add(tobj1);
		lo.add(tobj1);
		lo.add(tobj1);
		lo.add(tobj2);
		lo.add(tobj2);
		lo.add(tobj3);
		// ------------------------------------------- 挑出value不同的对象
		List<TestObj> lo2 = lo;
		List<TestObj> lod = new ArrayList<TestObj>();
		lod.add(lo2.get(0));
		for (int a = 0; a < lo2.size(); a++) {
			for (int b = 0, c = 0; b < lod.size(); b++) {
				if (!lo2.get(a).getValue().equals(lod.get(b).getValue())) {
					c++;
				}
				if (c == lod.size()) {
					lod.add(lo2.get(a));
					break;
				}
			}
		}
		System.out.println(lod.size());

		// ------------------------------------------统一放进一个伪Map中,key是不同的值,value是list对象集合
		List<Wmap> lm = new ArrayList<Wmap>();
		// 初始化MAP
		for (int d = 0; d < lod.size(); d++) {
			Wmap wmap = new Wmap();
			wmap.setKey(lod.get(d).getValue());
			wmap.setValue(new ArrayList<TestObj>());
			lm.add(wmap);
		}

		for (int e = 0; e < lod.size(); e++) {
			for (int f = 0; f < lo2.size(); f++) {
				if (lo2.get(f).getValue().equals(lod.get(e).getValue())) {
					for(int g = 0 ; g <lm.size();g++ ){
						if(lo2.get(f).getValue().equals(lm.get(g).getKey())){
							lm.get(g).getValue().add(lo2.get(f));
						}
					}
				}

			}
		}
		
		System.out.println(lm);
		
		

	}

}




感觉这个就是像把数据变成树,用不同的value变成节点。
写完之后,感觉这个太繁琐,感觉可以优化,直接拿出value进行比较动态生成,不用这么繁琐。。
分享到:
评论

相关推荐

    易语言对象操作word纯源码

    关于易语言操作word读写或者向word中插入图片的实现,经大量搜索贴子,发现基本思路是明白了(用com对象操作),但是例子代码太少,同时有的代码写法不够严谨或者使用模块等,导致实现效果不理想,也不容易理解.因此开贴,给...

    COM对象操作支持库

    COM对象操作支持库

    COM对象操作支持库1.1#0版(第三方)

    易语言OLEDispatch.fne支持库中文名为易语言COM对象操作支持库,本易语言支持库是用来操作COM对象型。易语言OLEDispatch.fne支持库为一般支持库,需要易系统3.0版本的支持,需要系统核心支持库3.8版本的支持,提供了...

    COM对象操作演示易语言源码

    COM对象操作支持库和易语言的对象有区别吗?当然有区别,不仅可以通用易的对象型,而且还加入了以下令人振奋的特性: 一、支持枚举对象接口现在可以随意的编写WMI程序了,可以照抄VB的例子,不再有任何障碍二、挂接...

    易语言COM对象操作支持库1.1

    COM对象操作支持库1.1#0版(OLEDispatch.fne) 实现了易语言对COM对象的操作支持

    EXCEL表格对象操作类2.3模块.rar

    EXCEL表格对象操作类2.3模块.rar EXCEL表格对象操作类2.3模块.rar EXCEL表格对象操作类2.3模块.rar EXCEL表格对象操作类2.3模块.rar EXCEL表格对象操作类2.3模块.rar EXCEL表格对象操作类2.3模块.rar

    javascript 对象操作作业题

    javascript 对象操作作业题,面向对象操作题

    易语言EXCEL表格对象操作类2.3模块

    易语言EXCEL表格对象操作类2.3模块源码,EXCEL表格对象操作类2.3模块,test,test2,test3,到变体,RGB,取分隔串内容,cell,cells,列名转数字,数字转列名,取Application,取Creator,取Parent,取Parent变体,取自动缩进,置...

    Python面向对象实现一个对象调用另一个对象操作示例

    本文实例讲述了Python面向对象实现一个对象调用另一个对象操作。分享给大家供大家参考,具体如下: 我先总结一下python中的类的特点: 1.类中所有的方法的参数中都必须加self,并且是第一个参数 2.__init__方法用来...

    易语言对象操作WINDOWS防火墙源码.zip

    易语言对象操作WINDOWS防火墙源码.zip

    易语言源码易语言EXCEL表格对象操作类2.3模块源码.rar

    易语言源码易语言EXCEL表格对象操作类2.3模块源码.rar 易语言源码易语言EXCEL表格对象操作类2.3模块源码.rar 易语言源码易语言EXCEL表格对象操作类2.3模块源码.rar 易语言源码易语言EXCEL表格对象操作类2.3模块...

    易语言COM对象操作Excel

    易语言COM对象操作Excel源码,COM对象操作Excel,转换字母

    易语言对象操作文件夹

    易语言对象操作文件夹源码,对象操作文件夹

    易语言COM对象操作支持库.rar

    易语言COM对象操作支持库.rar 易语言COM对象操作支持库.rar 易语言COM对象操作支持库.rar 易语言COM对象操作支持库.rar 易语言COM对象操作支持库.rar 易语言COM对象操作支持库.rar

    易语言对象操作WINDOWS防火墙

    易语言对象操作WINDOWS防火墙源码,对象操作WINDOWS防火墙,取防火墙状态,切换状态,增加到例外列表

    XML对象操作.rar

    XML对象操作.rar XML对象操作.rar XML对象操作.rar XML对象操作.rar XML对象操作.rar XML对象操作.rar

    易语言XML对象操作

    易语言XML对象操作源码,XML对象操作,导入,导出,取父节点名,取根节点名,取子节点名称,删除节点,添加节点,取节点文本,取节点字节集,置节点文本,置节点字节集,取子节点数

Global site tag (gtag.js) - Google Analytics