0 0

求教:根据某个数组数据结构,对list对象进行排序0

例子如下:
有1个数组记录了排序的用户对象ID
String[] sortId = new String[] { "1", "3", "2" };

然后有4个对象,他们放入list的顺序是1,2,3,4
	SysUser user1 = new SysUser();
		user1.setUserId("1");
		user1.setUserName("我是用户1");
		SysUser user2 = new SysUser();
		user2.setUserId("2");
		user2.setUserName("我是用户2");
		SysUser user3 = new SysUser();
		user3.setUserId("3");
		user3.setUserName("我是用户3");
		SysUser user4 = new SysUser();
		user3.setUserId("4");
		user3.setUserName("我是用户4");
		
		List<SysUser> uList=new ArrayList<SysUser>();
		uList.add(user1);
		uList.add(user2);
		uList.add(user3);
		uList.add(user4);


我想根据数组里面的ID,对uList里面的对象进行排序,即结果为1,3,2,4;
4由于在数组里没有,顾放最后
想请教怎么写比较合理.求大虾帮助

2012年10月16日 16:44

2个答案 按时间排序 按投票排序

0 0

采纳的答案

Collections.sort(list, new Comparator<SysUser>(){
    public int compare(SysUser su1, SysUser su2){
    return Integer.valueOf(ArrayUtils.indexOf(sortId, su1.getUserId())).compareTo(ArrayUtils.indexOf(sortId, su2.getUserId()));
    }
});

2012年10月17日 12:48
0 0

1、String[] sortId = new String[] { "1", "3", "2" };
2、List<SysUser> uList=new ArrayList<SysUser>();   换成Set uSet
3、for循环sortId 然后到uSet中根据userId(即SysUser的hashCode为userId的hashCode)
4、创建新的List存结果即可

2012年10月16日 18:27

相关推荐

    刚做了象棋和跳棋游戏 求教如何 实现游戏的在线即时对战功能

    - **棋盘表示**:用二维数组或特定的数据结构(如位运算)来表示棋盘状态,高效存储和操作棋子位置。 - **AI算法**:对于自动匹配或AI对战,需要设计合适的AI算法,如Minimax、Alpha-Beta剪枝、蒙特卡洛树搜索等。...

    求教模糊Ts辨识里对于系统结构辨识的确定和归一化数据-一些文献.rar

    求教模糊Ts辨识里对于系统结构辨识的确定和归一化数据-一些文献.rar 是不是只有试验法呢,根据局部动态特性,估计大致的系统阶数,然后确定,输入输出的阶数??还是用什么工具箱,我看到有些文献说,用穷尽式搜索...

    我求教高手的VB毕业设计

    【标题】:“我求教高手的VB毕业设计” 在VB(Visual Basic)中进行数据库操作是常见的编程任务,尤其是在毕业设计项目中。VB提供了一种简单的方式来与数据库交互,特别是像Access这样的桌面数据库管理系统。当你在...

    求教C++等等一系列的问题

    然而,根据题目要求,我们将尝试基于标题、描述和部分提供的内容,构造一些可能与C++学习相关的知识点。 ### C++学习之路:深思与探索 #### 标题解析:“求教C++等等一系列的问题” 这一标题表明了提问者对于C++...

    java考试题 求教

    根据题目要求,我们将详细解析如何实现从文件读取数据到员工对象中,并对员工对象属性进行比较和修改的过程。此过程主要包括以下四个步骤:定义员工类、读取文件内容、处理员工信息以及输出结果。 ### 一、定义员工...

    17000217347258003.doc

    本实验是针对C语言初学者设计的,旨在加深对C语言基础知识的理解,包括输入输出、分支结构、循环结构和数组等核心概念。实验不仅有助于提升编程技能,还能增强逻辑思维能力,为后续更深入的编程学习打下坚实基础。 ...

    C#上位机智能家居界面程序,下位机51单片机串口通讯

    C#界面编写学习,51单片机学习

    Excel表格的教学应用培训体会.doc

    数据排序可以根据文本、数值、日期或自定义序列进行,有助于快速查找和组织信息。分类汇总则是对大量数据进行统计分析的重要手段,它可以帮助用户快速理解数据分布和趋势。 在学习Excel的过程中,有几个关键技巧...

    JAVA版《魔塔24层》

    4. **数据结构**:游戏中涉及地图、物品、角色状态等数据的存储,这需要合理使用数组、链表、栈、队列等数据结构。 5. **算法**:魔塔游戏通常包含复杂的逻辑,如战斗计算、路径寻找等,这些都需要运用到搜索算法...

    C语言算法精华

    Re: 平面点覆盖问题求教 anya Re: 平面点覆盖问题求教 anya Re: 平面点覆盖问题求教 anya Re: 集合求交 anya Re: 微软考题 anya Re: 微软考题 anya Re: 请问自然图象的概率分布函数 anya 华

    社保专员工作述职报告.docx

    - 统计社保数据:定期对社保信息进行汇总分析。 - 其他相关社保事务。 #### 二、工作内容及存在的主要问题 - **工作特点:** - 参保人数众多:番禺地区参保人数超过三万人。 - 数据量庞大:需处理大量数据,...

    邻接矩阵存储的无向图广度和深度遍历文件操作

    在计算机科学中,图是一种非常重要的数据结构,用于表示对象之间的关系。无向图是其中的一种,其中任意两个节点间的边没有方向性。在处理无向图时,我们经常使用邻接矩阵作为存储方式,因为它提供了对图中边的存在...

    公式求教共4页.pdf.zip

    很抱歉,根据您提供的信息,"公式求教共4页.pdf.zip"似乎是一个包含四页公式教学内容的PDF文档的压缩文件,而"赚钱项目"可能是压缩包中的另一个文件或者是一个误输入。然而,没有实际的文件内容,我无法提供具体的IT...

    西农Java实习,实习五到实习六

    西农,可能是指西北农林科技大学,它提供了这个实习项目,旨在帮助学生深化对Java语言的理解和应用能力。这个实习分为五个部分,从实验5一直持续到实验6,每个部分都包含一个或多个具体的编程任务,让学生通过实践来...

    gogogo_saoleijava_

    6. **状态管理**:游戏的状态(如是否结束、剩余雷数等)需要进行有效的管理,这可能涉及类的设计和对象的状态更新。 7. **错误处理**:当用户触发雷时,游戏需要有明确的反馈,这需要进行异常处理。 8. **多线程*...

    S函数最大功率跟踪采用的是三次插值方法求教指出错误-mppt.mdl

    S函数最大功率跟踪采用的是三次插值方法求教指出错误-mppt.mdl 这是仿真模型和错误原因图 附件: sfun_mppt.m S函数程序   mppt.mdl 插值仿真模型 错误.jpg ...

    Scala.pdf中文高清第二版

    6. **集合库**:Scala的集合库是其一大亮点,提供了丰富的数据结构,如List、Set、Map、Seq等,以及高效的算法实现。这些集合都是不可变的,符合函数式编程的原则。 7. **模式匹配**:Scala的模式匹配功能强大,...

    MSN错误解决方法详解

    MSN错误解决方法详解,msn求教:80072eff错误,暂时无法使用您的联系人列表_百度知道

Global site tag (gtag.js) - Google Analytics