社区
Java SE
帖子详情
按值排序问题
feng911
2006-12-05 01:08:09
如:
部品A 10
部品B 9
部品C 8
部品D 11
部品E 8
如何得到这样的结果:
部品C 8
部品E 8
部品B 9
部品A 10
部品D 11
前面部份是不重复的,后面数值部份可能重复,数值越小的排在前面,数值相同的哪个先都可以
...全文
320
11
打赏
收藏
按值排序问题
如: 部品A 10 部品B 9 部品C 8 部品D 11 部品E 8 如何得到这样的结果: 部品C 8 部品E 8 部品B 9 部品A 10 部品D 11 前面部份是不重复的,后面数值部份可能重复,数值越小的排在前面,数值相同的哪个先都可以
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
taojiayu
2006-12-05
打赏
举报
回复
mark
figoren
2006-12-05
打赏
举报
回复
//排序
Collections.sort(epiList, new epiComparator(field, flag));
private class epiComparator implements Comparator
{
private String field;
private String flag;
public epiComparator(String field, String flag)
{
this.field = field;
this.flag = flag;
}
/*
* 方法名称:compare
* 内容摘要:实现比较方法的地方 返回 1 则 a.b交换 -1 a,b不变 0 不变
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
public int compare(Object o1, Object o2)
{
EpibolyObject epi1 = new EpibolyObject();
EpibolyObject epi2 = new EpibolyObject();
epi1 = (EpibolyObject) o1;
epi2 = (EpibolyObject) o2;
//比较字段的大小
int big = 0;
//根据升降确定返回值
int order = 0;
if ("epiComName".equals(field))
{
// > return 1 < return -1 == return 0
big = epi1.getEpiComName().compareTo(epi2.getEpiComName());
}
else if ("epiNo".equals(field))
{
big = epi1.getEpiNo().compareTo(epi2.getEpiNo());
}
else if ("epiName".equals(field))
{
big = epi1.getEpiName().compareTo(epi2.getEpiName());
}
if ("asc".equals(flag))
{
order = big;
}
else if ("desc".equals(flag))
{
order = -big;
}
return order;
}
}
fool_leave
2006-12-05
打赏
举报
回复
class Node
implements Comparator {
public String s1;
public String s2;
public int compare(Object object, Object object1) {
Node n1=(Node)object;
Node n2=(Node)object1;
return n1.s2.compareTo(n2.s2);
}
public boolean equals(Object object) {
return false;
}
}
//排序
ArrayList list=new ArrayList();
//list里面添加Node节点
Object[] v= list.toArray();
Arrays.sort(v);
然后看看v的顺序如何
hdhmail2000
2006-12-05
打赏
举报
回复
在后面加一个计数器的数字就可以了,不影响的
如81,82。。。。。。。
feng911
2006-12-05
打赏
举报
回复
TO hdhmail2000(禅剑飞雪)
这个例子是按KEY进行排序的,我这个问题不能把数值作为KEY。因为有重复的
feng911
2006-12-05
打赏
举报
回复
TO hdhmail2000(禅剑飞雪)
这个例子是按KEY进行排序的,我这个问题如果不能把数值作为KEY。因为有重复的
hdhmail2000
2006-12-05
打赏
举报
回复
import java.util.Collection;
import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
/**
* @author www.inspiresky.com
*
*/
public class TestSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TreeMap map = new TreeMap();
for(int i=0; i<10; i++) {
String s = ""+(int)(Math.random()*1000);
map.put(s,s);
}
map.put("abcd","abcd");
map.put("Abc", "Abc");
map.put("bbb","bbb");
map.put("BBBB", "BBBB");
map.put("北京","北京");
map.put("中国","中国");
map.put("上海", "上海");
map.put("厦门", "厦门");
map.put("香港", "香港");
map.put("碑海", "碑海");
Collection col = map.values();
Iterator it = col.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
feng911
2006-12-05
打赏
举报
回复
希望各位能详细举个例子,谢谢。
awusoft
2006-12-05
打赏
举报
回复
在类里实现Comparable接口里的compareTo(E o)方法
hdhmail2000
2006-12-05
打赏
举报
回复
保存到TreeMap中就自动排序了
fool_leave
2006-12-05
打赏
举报
回复
Arrays.sort()
现成的排序
你需要做的就是写一个Comparator来比较大小
先看看Arrays.sort方法吧,很简单的
Access数据库基础课程
本课程为《Access数据库基础课程》,主要讲解为两部分,第一部分是...内容)、数据的分类汇总,求最大值、最小值、平均值、
排序
、不重复、top、swicth语句、iif语句、len语句、left、left join 多表联查等等众多语句
在Python中,字典
按值
排序
在Python中,字典
按值
排序
我们可以用sorted高阶函数或者用列表的.sort()方法。 目录 在Python中,字典
按值
排序
一、sorted高阶函数 二、列表的.sort()方法 三、扩展 四、后记 一、sorted高阶函数 这种...
map
按值
排序
(众所周知map按key
排序
,但
按值
怎么
排序
呢)
map
按值
排序
map的两个值分别为key值和value值,map是按照key值进行
排序
的,无法直接对value
排序
。可以将map的key和value组成一个新的结构PAIR,用一个PAIR型的vector存储map中的所有内容,对vecor按照value值进行...
Java Map
按值
排序
的正确姿势
在实际业务开发中,可能会遇到Java Map
按值
排序
的需要。 Java Map
按值
排序
的常见思路是: 1、 将map中的entry放到List中 2、 对List中的entry通过比较器
按值
排序
3 、将
排序
后的entry放到linkedhashmap中 ...
C++map如何
按值
排序
因为sort函数只能
排序
类似vector这样的...所以需要将map转换为vector表示,那就需要pair//map数据按照值来
排序
void MapSortOfValue(vector,string> >& vec,map,int>& m) { for (map, int>::iterator it = m.begin();
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章