- 浏览: 1217663 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1420public static void main(String[ ... -
JAVA中 RETURN与break有何区别
2013-07-08 11:05 1004想看一个例子: public class G { ... -
一位map,二位map变成字符串后,再变成map的解析过程
2011-12-20 09:38 2732public class G { public s ... -
生成必须有大写小写和数字的随机字符串
2011-11-21 22:56 1341public class Teee { public stat ... -
For_循环练习
2011-10-11 10:47 1385【程序2】 题目:判断10 ... -
彩票 31 选 7
2011-09-07 16:16 1010方法一、用集合实现( ... -
java 循环总结
2011-09-07 10:30 9801、for(){} 比较常用的for循环是 for(i ... -
break 和 continue的用法
2011-08-30 16:41 1521break的作用是跳出这个循环(如果这个break或者cont ... -
快速排序原理及java实现
2011-07-14 01:05 2489快速排序是对冒泡排序的一种改进。它的基本思想是:通过一躺排序将 ... -
Collections 类的方法总结
2011-07-11 17:16 1264public class TestCollect { publ ... -
Collections 类的总结
2011-07-11 17:10 9151、有52张扑克牌要随机发牌给四个玩家,并且四个玩家牌的数量是 ... -
有52张扑克牌要随机发牌给四个玩家,并且四个玩家牌的数量是相同的?
2011-07-11 17:08 2010public class TestList { public ... -
关于Arrays.asList的问题
2011-07-10 16:04 1284将数组转成List问题,通常我们习惯这样写成:List ... -
Arrays方法的总结
2011-07-10 03:03 972public class TArrays { public ... -
Arrays集合总结
2011-07-09 20:37 903Arrays.binarySearch();的用法 A ... -
Arrays.binarySearch();的用法。
2011-07-09 20:34 32978Arrays.binarySearch();的用法。 pub ... -
Comparable<T> 和Comparator 的用法区别?
2011-07-07 00:05 1493答:1、Comparable<T>是一个借口里面只 ... -
TreeSet集合总结
2011-07-06 01:57 873TreeSet 集合中 的comparator()和desce ... -
TreeSet 集合中 的comparator()和descendingIterator()方法的应用对比
2011-07-06 01:53 1515TreeSet 集合中 的comparator()和desce ... -
Iterator和listIterator的区别
2011-06-30 21:44 831我们在使用List,Set的时候,为了实现对其数据的遍历,我们 ...
相关推荐
- **归并排序**:同样采用分治法,先将数组分成相等的两部分,分别对这两部分进行排序,再将两个有序数组合并为一个最终的有序数组。 #### 2. 性能比较 文档还提供了比较这些排序算法性能的功能。通过设定数组长度`...
此外,冒泡排序是稳定的排序算法,即相等的元素在排序后的相对位置不会改变。 在实际编程中,冒泡排序可以被表示为清晰的伪代码或具体编程语言的实现。例如,C语言描述的冒泡排序算法包含两个嵌套循环,分别从前向...
- 直接插入排序是一种稳定排序算法,即相等的元素的相对顺序不会发生变化。 - 这种排序算法的时间复杂度在最坏情况下为O(n^2),其中n为数组长度。 #### 二、希尔排序 **思路:** 希尔排序是对直接插入排序的一种...
如果不指定排序函数,sort()方法默认按照字符编码的顺序排序数组元素。为了按数值大小进行排序,需要给sort()方法传递一个比较函数,比较函数接受两个参数,并返回它们之间的差值。 对于升序排序,比较函数可以是:...
这样,就可以按照拼音顺序正确排序中文字符串。 重载`applySort`方法后,还需要对`data`属性进行排序,`data`是一个数组,包含了Grid组件的数据记录。另外,如果存在`snapshot`属性,并且`snapshot`和`data`不是同...
- **arsort()**:与`asort()`相反,按值降序排序并保持键值对应。 - **krsort()**:与`ksort()`相反,按键降序排序并保持键值对应。 此外,PHP还提供了一些自定义排序功能: - **usort()**:允许用户自定义比较...
在计算机科学领域,排序是数据处理的一个重要环节,它涉及到如何按照特定的顺序排列一系列元素。本主题将深入探讨一种高效的排序算法——归并排序,它适用于C语言编程。归并排序是一种基于分治思想的排序算法,其...
在这个场景下,我们可以利用`localeCompare()`来实现中文字符按照汉语拼音的顺序进行排序。 首先,我们需要了解`localeCompare()`函数的基本用法。它接受一个字符串参数,返回值为一个整数,表示当前字符串与参数...
hashcode方法用于确定元素的存储位置,而equals方法用于比较元素的相等性。 在使用HashSet时,需要注意的是,需要重写hashcode和equals方法,以确保元素的唯一性。如果hashcode返回的结果都一样,可以吗?答案是不...
每个桶包含相等数量的行(如果可能的话),其参数指定了桶的数量。在示例中,`ntile(2)`将所有学生按语文分数降序分成两组,每个组尽可能包含相同数量的学生。 这些函数在数据报表、数据分析、数据分区等场景中非常...
- 稳定性:排序算法是否保持原有元素顺序不变的重要性。 #### 八、最多5个对象的排序选择 **第八讲**特别关注了针对少量对象(最多5个)的排序方法。这部分内容可能包括: - 小规模排序的特殊性:为什么对于小...
冒泡排序是稳定的排序算法,因为它比较相邻的元素并交换位置,不会改变相等元素的相对顺序。 - **c. 选择排序**:错误选项。虽然选择排序也是不稳定的,但是题目中问的是“不是稳定”的排序算法,因此这里指的是不...
- 二分查找适用于顺序存储和按value有序的数据结构,但不适用于链存储,因为链表无法快速定位中间位置。 - 插入排序、希尔排序、冒泡排序和快速排序中,快速排序平均速度最快,但实际性能取决于输入数据的特性。 ...
- **问题描述**:已知一个完全二叉树中第三个结点的地址为1000,如果其左子女存在的话,其地址是多少? - **选项分析**: - A. 2000:不正确。 - B. 1006:正确,因为完全二叉树中,父节点i的左子女地址为2i+1。 ...
冒泡排序是一种简单的排序算法,通过重复遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。 41. String和StringBuffer的区别? String是不可变的字符序列,StringBuffer是可变的字符序列...
5. 语序排列:语段排序题要求考生根据上下文关系确定句子的正确顺序,以形成连贯的文意。给出的句子涉及人们对城市内外的期待与厌倦,以及人类的健忘本性,通过逻辑关系进行排序。 6. 对联修辞与文化:对联是中国...
注意,“支架设置”里右边的效果器排列顺序即为单轨模式下的效果器的使用顺序,谨慎排序。常用的效果器(按顺序)有:WavesC4、CompressorR3、Equalizer、BBE、动态处理、ReverbR3。 五、效果器依旧按顺序来……我...
- **知识点解析**:二分查找的前提是待查找的线性表必须是顺序存储并且数据元素已经按值排序。只有在这样的条件下,二分查找才能正常工作并达到较高的查找效率。 16. **树的边数** - **题目内容**:在含有n个结点...
5. 句子排序:考察学生的逻辑思维和语感,正确顺序应该是按照人的道德品质由低到高排列,即"一个高尚的人,一个纯粹的人,一个有道德的人,一个脱离了低级趣味的人,一个有益于人民的人"。 6. 判断题:涉及语文修辞...