- 浏览: 1199401 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (706)
- 全部博客(10000) (0)
- java基础 (123)
- 算法及数据结构 (64)
- SSH框架整合与平台系统分析 (11)
- j2ee (46)
- Oracle (95)
- SQL Server (11)
- javaScript (73)
- Ajax (22)
- jQuery (39)
- ExtJs (4)
- jsp (13)
- Servlet (6)
- struts1 (2)
- struts2 (33)
- Ibatis (2)
- hibernate (24)
- Spring (11)
- 设计模式 (8)
- 正则表达式 (9)
- UML (0)
- XML (9)
- linux (19)
- CSS (11)
- FreeMarker (4)
- nginx 与 memcached (6)
- SEO (5)
- Web 服务器 (11)
- junit 与 selenium2 (4)
- MyEclipse 有关的问题 (24)
- 生活杂感 (37)
- 看过的书 (2)
- 技术牛人 (2)
- 需要优化的例子 (3)
- English 学习 (7)
- bug修改的解决方法 (2)
- 数据库实战经验总结 (1)
- 期待解决的问题 (20)
- 等待自己学习的东西 (15)
- 自己公司代码结构总结 (15)
- 企业经营之道 (23)
- 工具管理 (1)
- 世范水晶 (2)
最新评论
-
hustkeai:
第一个方法是不对的
求一个Map中最大的value值,同时列出键,值 -
qq591920734:
java List 排序 Collections.sort() 对 List 排序(首先年龄排序,如果年龄相同,则按名字排序) -
qq591920734:
[color=orange][/color]包女包女不女
java List 排序 Collections.sort() 对 List 排序(首先年龄排序,如果年龄相同,则按名字排序) -
timer_yin:
seagrave 写道这个算法想法不错,但太耗时,我用1、2、 ...
用1、2、2、3、4、5这六个数字,数字排序经典算法 -
hellostory:
日常生活中,我们都不按你上面的那个方法算的!!!
JAVA小函数-计算日期差
//先按年龄排序,要是年龄相等的话,就按名字的顺序排序;
public class User implements Comparable<User>{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int compareTo(User o) {
if(this.getAge()-(o.getAge())!=0){
return this.getAge()-(o.getAge());
}else{
return this.getName().compareTo(o.getName());
}
}
}
//测试类
public class Test {
public static void main(String[] args){
User user1=new User();
user1.setName("e");
user1.setAge(23);
User user2=new User();
user2.setName("d");
user2.setAge(3);
User user3=new User();
user3.setName("b");
user3.setAge(6);
List<User> list=new ArrayList<User>();
list.add(user1);
list.add(user2);
list.add(user3);
//主要要注意pojo实现(implements )了Comparable<T>接口
//所以采用Collections.sort(list);
Collections.sort(list);
for(User u:list){
System.out.println(u.getAge()+"/"+u.getName());
}
}
}
&&&&&&&&&&&&&&&&&&&&&& 上面和下面实现的功能是一样的注意观察不同点
pojo
public class User implements Comparator<User> {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int compare(User o1, User o2) {
if(o1.getAge()-(o2.getAge())!=0){
return o1.getAge()-(o2.getAge());
}else{
return o1.getName().compareTo(o2.getName());
}
}
}
测试类
public class Test {
public static void main(String[] args){
User u1=new User();
u1.setAge(13);
u1.setName("d");
User u2=new User();
u2.setAge(6);
u2.setName("h");
User u3=new User();
u3.setAge(3);
u3.setName("a");
User u4=new User();
u4.setAge(23);
u4.setName("c");
List<User> al=new ArrayList<User>();
al.add(u1);
al.add(u2);
al.add(u3);
al.add(u4);
//主要观察里面的对象new User();和上面的实现有什么不同
Collections.sort(al,new User());
Iterator ite=al.iterator();
while(ite.hasNext()){
User user=(User)ite.next();
System.out.print(user.getAge()+"/");
System.out.println(user.getName());
}
}
}
发表评论
-
查找 字符串中 重复字符最多的个数
2013-09-03 12:13 1378public static void main(String[ ... -
JAVA中 RETURN与break有何区别
2013-07-08 11:05 981想看一个例子: public class G { ... -
一位map,二位map变成字符串后,再变成map的解析过程
2011-12-20 09:38 2703public class G { public s ... -
生成必须有大写小写和数字的随机字符串
2011-11-21 22:56 1320public class Teee { public stat ... -
For_循环练习
2011-10-11 10:47 1352【程序2】 题目:判断10 ... -
彩票 31 选 7
2011-09-07 16:16 986方法一、用集合实现( ... -
java 循环总结
2011-09-07 10:30 9591、for(){} 比较常用的for循环是 for(i ... -
break 和 continue的用法
2011-08-30 16:41 1489break的作用是跳出这个循环(如果这个break或者cont ... -
快速排序原理及java实现
2011-07-14 01:05 2471快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将 ... -
Collections 类的方法总结
2011-07-11 17:16 1245public class TestCollect { publ ... -
Collections 类的总结
2011-07-11 17:10 8921、有52张扑克牌要随机发牌给四个玩家,并且四个玩家牌的数量是 ... -
有52张扑克牌要随机发牌给四个玩家,并且四个玩家牌的数量是相同的?
2011-07-11 17:08 1975public class TestList { public ... -
关于Arrays.asList的问题
2011-07-10 16:04 1264将数组转成List问题,通常我们习惯这样写成:List ... -
Arrays方法的总结
2011-07-10 03:03 944public class TArrays { public ... -
Arrays集合总结
2011-07-09 20:37 877Arrays.binarySearch();的用法 A ... -
Arrays.binarySearch();的用法。
2011-07-09 20:34 32908Arrays.binarySearch();的用法。 pub ... -
Comparable<T> 和Comparator 的用法区别?
2011-07-07 00:05 1462答:1、Comparable<T>是一个借口里面只 ... -
TreeSet集合总结
2011-07-06 01:57 852TreeSet 集合中 的comparator()和desce ... -
TreeSet 集合中 的comparator()和descendingIterator()方法的应用对比
2011-07-06 01:53 1496TreeSet 集合中 的comparator()和desce ... -
Iterator和listIterator的区别
2011-06-30 21:44 804我们在使用List,Set的时候,为了实现对其数据的遍历,我们 ...
相关推荐
变量的赋值就相当于哨兵,当排序数列中出现与哨兵相等的值或有某种既定关系出现时,就做一种操作,比如说停止排序,或进行下一趟排序。 举例: 顺序检索的算法描述如下 int Search_Sequen(SSTable ST,KeyType key...
(2)功能分析 "学生成绩管理系统"包括九个模块:输入学生资料,输出学生资料,学生姓名按顺序排 列,添加学生资料,按姓名查找,删除该学生资料,查找并显示学生资料,按姓名查找 ,修改该学生资料,从文件中读入...
在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示...
在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示...
在“字母顺序的关键字列表”中,可以找到按字母顺序列出的所有 JScript 语言的主题。如果只需要查看某个主题(例如对象),则有对该主题进行详细说明的章节可供查阅。 如何操作呢?单击左边任意一个标题,即可显示...
那么,现在就开始吧,先编写第1个程序,然后试着在第1个程序的基础上编写第2个程序,…… 程序1 编程先由计算机“想”一个1~100之间的数请人猜,如果人猜对了,则计算机给出提示“Right!”,否则提示“Wrong!”,并...
以前说到BUTTON控件CausesValidation=true/false来设置按钮提交的表单是不是被检验也就是这里的几个检验控件,如果CausesValidation=true的话按下按钮就会首先检测是不是都通过了检验控件的检验。 下面再说两点: ...
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 14、...
不管按什么顺序计算,难道不该是56吗? 33 3.3 对于代码int i=3; i=i++; 不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? 34 *3.4 有这样一个巧妙的表达式:a^= b^= a^= b; 它不需要临时变量就...
3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 add...
3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 ...
3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 add...
//定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year...
我先说个大概,希望能够抛砖引玉吧 当程序运行时需要从内存中读出这段程序的代码。代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的...
不管按什么顺序计算,难道不该是56吗? 3.3 对于代码inti=3;i=i++;不同编译器给出不同的i值,有的为3,有的为4,哪个是正确的? *3.4 有这样一个巧妙的表达式:a^=b^=a^=b;它不需要临时变量就可以交换a和b的值。...
sort_by(name) 表示所有的user按user.name进行排序 hashes内置方法 hash?keys 返回hash里的所有keys, 返回结果类型sequence hash?values 返回hash里的所有value, 返回结果类型sequence 模板 使用FTL(freeMarker...