社区
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
前面部份是不重复的,后面数值部份可能重复,数值越小的排在前面,数值相同的哪个先都可以
...全文
322
11
打赏
收藏
按值排序问题
如: 部品A 10 部品B 9 部品C 8 部品D 11 部品E 8 如何得到这样的结果: 部品C 8 部品E 8 部品B 9 部品A 10 部品D 11 前面部份是不重复的,后面数值部份可能重复,数值越小的排在前面,数值相同的哪个先都可以
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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方法吧,很简单的
MoreWindows白话经典算法之七大
排序
(高清版)
这是本人在研一上课时所整理的文档,包括冒泡
排序
,直接插入
排序
,直接选择
排序
,希尔
排序
,归并
排序
,快速
排序
和堆
排序
这七种常用的
排序
方法,这些文章不仅使我在考试中取了不错的成绩,也为后来顺利面过迅雷,腾讯,微软打下了良好的基础,现在整理成电子书形式,希望能对大家有所帮助。
结构之法算法之道blog最新博文集锦第6期CHM文件
结构之法算法之道blog最新博文集锦第6期CHM文件,1月13日制作,请君享受。
map
按值
排序
(众所周知map按key
排序
,但
按值
怎么
排序
呢)
map
按值
排序
map的两个值分别为key值和value值,map是按照key值进行
排序
的,无法直接对value
排序
。可以将map的key和value组成一个新的结构PAIR,用一个PAIR型的vector存储map中的所有内容,对vecor按照value值进行
排序
。按顺序输出key。 //map
按值
排序
#include <iostream> #include <string&...
python字典
按值
排序
输出键_Python字典按键/值
排序
的几种方法
本文介绍对Python字典的按键和
按值
排序
的几种方式。按键
排序
# 对字典按键
排序
def sort_by_key(d):'''d.items() 返回元素为 (key, value) 的可迭代类型(Iterable),key 函数的参数 k 便是元素 (key, value),所以 k[0] 取到字典的键。'''return sorted(d.items(), key=lambda k: k[0])...
python dict
按值
排序
a=sorted(your_dict.items(),key=lambda x: x[1],reverse=True)
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章