- 浏览: 1065429 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (314)
- java 技术 (45)
- Java Util (3)
- Struts2 学习笔记 (23)
- MySql@数据库 (18)
- Oracle@数据库 (4)
- sqlserver@数据库 (20)
- Hibernate配置及应用 (7)
- 基础学习笔记@javaScript (24)
- 常用应用实例@javaScript (41)
- 网页设计 (20)
- bug (13)
- 总结 (4)
- eclipse应用 (23)
- tomcat设置及问题 (15)
- SWFUplaod学习笔记 (7)
- C# (5)
- PPT经验技巧 (8)
- 心情随笔 (3)
- 其他 (19)
- jquery (4)
- sping (1)
- json相关 (2)
最新评论
-
流年已逝_奋斗不止2013:
很有用,谢谢!
HQL select 总结 -
qq_31945283:
完美解决了我的难题,谢谢
四、struts2+swfUpload例子二 -
qq_31945283:
...
四、struts2+swfUpload例子二 -
sunbingrun:
集成到我的项目里, 居然post_params: {&quo ...
三、struts2+swfUpload简单例子 -
flyarun:
牛B ,这种人就是我的偶像
四、struts2+swfUpload例子二
Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:
首先使用基本类型(此处使用Integer)来演示第一个方法:
接下来看看自定义类的排序:
如果直接使用 Collections.sort(empList);需要在Emp类中实现Comparator接口
使用Collections.sort方法的第一种形式实现:
public static <T extends Comparable<? super T>> void sort(List<T> list) { list.sort(null); }
public static <T> void sort(List<T> list, Comparator<? super T> c) { list.sort(c); }
首先使用基本类型(此处使用Integer)来演示第一个方法:
static List<Integer> intList = Arrays.asList(2, 3, 1); //正序 Collections.sort(intList); //倒叙 Collections.sort(intList,new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { // 返回值为int类型,大于0表示正序,小于0表示逆序 return o2-o1; } });
接下来看看自定义类的排序:
public class Emp{ private int empno; private String ename; public int getEmpno() { return empno; } public void setEmpno(int empno) { this.empno = empno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public Emp(int empno, String ename) { super(); this.empno = empno; this.ename = ename; } @Override public String toString() { return "empno:\t"+empno+"\tename:\t"+ename; } }
//定义的list static List<Emp> empList; static { Emp emp1 = new Emp(2,"Guan YunChang"); Emp emp2 = new Emp(3,"Zhang Fei"); Emp emp3 = new Emp(1,"Liu Bei"); empList = Arrays.asList(emp1,emp2,emp3); } //实现排序的方法 Collections.sort(empList,new Comparator<Emp>() { @Override public int compare(Emp o1, Emp o2) { /*按员工编号正序排序*/ return o1.getEmpno()-o2.getEmpno(); /*按员工编号逆序排序*/ //return o2.getEmpno()-o1.getEmpno(); /*按员工姓名正序排序*/ //return o1.getEname().compareTo(o2.getEname()); /*按员工姓名逆序排序*/ //return o2.getEname().compareTo(o1.getEname()); } });
如果直接使用 Collections.sort(empList);需要在Emp类中实现Comparator接口
public class Emp implements Comparable<Emp>{ private int empno; private String ename; public int getEmpno() { return empno; } public void setEmpno(int empno) { this.empno = empno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public Emp(int empno, String ename) { super(); this.empno = empno; this.ename = ename; } @Override public String toString() { return "empno:\t"+empno+"\tename:\t"+ename; } @Override public int compareTo(Emp emp) { /*按员工编号正序排序*/ //return this.getEmpno()-emp.getEmpno(); /*按员工编号逆序排序*/ //return emp.getEmpno()-this.getEmpno(); /*按员工姓名正序排序*/ //return this.getEname().compareTo(emp.getEname()); /*按员工姓名逆序排序*/ return emp.getEname().compareTo(this.getEname()); } }
使用Collections.sort方法的第一种形式实现:
Collections.sort(empList);
发表评论
-
spring2.0+ehcache2.1.0配置
2021-02-03 09:43 999记录使用ehcache时遇到的两个问题 一、原使用的是spr ... -
前端解决跨域问题的8种方案
2020-07-31 09:46 742前端解决跨域问题的8 ... -
浏览器拦截跨域请求处理方法
2020-07-31 09:37 1090引用在浏览器请求中,出现跨域访问资源的问题,我们肯定会遇到。如 ... -
iText pdf表格画斜线
2020-07-29 10:00 2264在使用iText输出pdf表格文件时,有时存在较复杂的报表样式 ... -
Java iText导出pdf功能实现
2020-07-29 09:58 759引用:http://www.anyrt.com/blog/li ... -
HTML5手机端拍照上传
2020-03-23 16:11 580HTML5手机端拍照上传 -
Java保留两位小数的几种做法
2020-03-20 10:03 5871. 使用java.math.BigDecimal 2. 使 ... -
下载文件中文文件名乱码问题(兼容浏览器)
2019-07-31 09:56 1159public void encodeFileName()thr ... -
JSP 页面中用绝对路径显示图片
2019-03-08 09:31 1502首先,图片和工程不在一个盘符下。图片也不能放到工程下。 在J ... -
在java中高效复制一个文件夹里面所有的内容
2018-05-24 16:00 755先看下传统的方法:利用字节流直接复制 public sta ... -
解决在IE下label中点击img图片无法选中radio的方案
2018-05-21 09:57 1023例如,这样的代码 <input type=" ... -
java POI 读写word docx文件的相关文章收藏
2018-04-30 12:20 965使用POI读写word docx文件 http://elim. ... -
Java设置session超时(失效)的时间
2018-04-20 12:25 1875在一般系统登录后,都会设置一个当前session失效的时间,以 ... -
65条最常用正则表达式
2017-08-18 14:07 713一、校验数字的表达式 ... -
【转】Java List 随机取记录
2015-09-21 09:55 4836在这对Java List中怎么随机取数做一个分享: 其实Li ... -
Cookie跨域操作
2015-08-25 14:21 714正常的cookie只能在一个 ... -
配置Tomcat使用https协议(配置SSL协议)
2015-08-25 11:03 573http://ln-ydc.iteye.com/blog/13 ... -
Java使用正则表达式获取文本的章节名称
2015-02-04 13:17 2205获取文本的章节,首先要确定章节的开始标准,一般中文的章节都是以 ... -
swf2pdf转swf时字符集问题 Internal error: No current splash fontinfo
2014-12-17 11:33 2590swf2pdf转swf时字符集问题 在转换过程中报错:比如 ... -
[转]Quartz CronTrigger最完整配置说明
2014-07-28 16:13 968CronTrigger配置格式: 格 ...
相关推荐
Java中的`Arrays.sort()`和`Collections.sort()`是两个常用的排序函数,它们分别用于对数组和集合进行排序。这两个函数在内部实现上有所不同,但都基于高效的排序算法。 首先,`Collections.sort()`方法在处理列表...
`Collections.sort()`方法在Java中主要用于对`List`类型的集合进行排序。该方法内部实现采用了TimSort算法,这是一种混合排序算法,结合了归并排序和插入排序的优点。TimSort算法的主要优势在于能够很好地处理几乎...
可以使用Java内置的`Collections.sort()`方法,它接受一个List和一个Comparator作为参数。Comparator是一个接口,用于比较两个对象的顺序。我们可以创建一个自定义的Comparator,比较联系人姓名的首字母: ```java ...
Java标准库提供了一个强大的排序工具——`Arrays.sort()`方法,它使用了Timsort算法,这是一种混合排序算法,结合了插入排序、归并排序和一些其他优化,具有稳定性且在处理实际数据时表现出良好的性能。`Arrays.sort...
【Java基础——List接口详解(ArrayList、LinkedList、匿名类)】 在Java编程中,List接口是集合框架的重要组成部分,提供了有序存储元素的功能。ArrayList和LinkedList是List接口的两种主要实现,它们各有优缺点,...
在Java编程语言中,数组和集合是两种基本的数据结构,它们在存储和处理数据时扮演着重要角色。这个"java-array.zip"压缩包文件包含了关于数组和集合处理的源代码实例,供开发者学习和参考。这里我们将深入探讨这两个...
1. **集合接口**:Java集合框架主要由两种接口构成——List(列表)和Set(集)。List接口允许元素有顺序,并且可以包含重复元素,如ArrayList和LinkedList。Set接口不允许重复元素,如HashSet和TreeSet。 2. **Map...
20. **排序操作**:Java的`Arrays.sort()`方法可用于数组排序,`Collections.sort()`方法用于列表排序。自定义排序规则可以通过实现`Comparator`接口。 这些练习题覆盖了Java基础语法、面向对象编程、文件操作、...
List接口提供了直接排序的方法——`Collections.sort()`. 这个方法可以对任何实现了List接口的对象进行排序。如果列表中的元素是原始类型(如int、char等),我们可以直接使用`Collections.sort()`。但是,如果列表...
方法引用是一种更加简洁的方式来表示 Lambda 表达式,当 Lambda 体仅包含一个方法调用时,可以使用方法引用来代替 Lambda 表达式。 **示例**: ```java List<String> names = Arrays.asList("peter", "anna", "mike...
描述中提到的"Java算法库——查找和排序",揭示了这个库的重点在于提供查找和排序这两种基础但至关重要的算法。查找算法帮助我们在数据集中快速定位特定元素,如二分查找、哈希查找等;排序算法则用于组织数据,例如...
这段代码使用了Java 8的Comparator.comparing()方法,它接受一个函数式接口——方法引用(User::getAge),直接根据User对象的getAge()方法返回值进行排序。 通过以上示例,你应该了解了如何在Java中使用List保存对象...
以上两种方法均可有效地解决题目要求的问题。暴力枚举方法较为直观且易于理解,但对于大规模问题可能存在效率问题;DFS全排列枚举方法则能够更高效地遍历所有可能的情况,尤其是在数字较少的情况下更为适用。
KNN,全称为K-Nearest Neighbors,中文名为K最近邻算法,是一种基础且重要的机器学习算法。它属于监督学习中的非参数方法,适用于分类和回归问题。KNN的基本思想是:对于一个新的未知样本,我们将其归类到与其最近的...
本资源包包含了两种编程语言——C和Java对于排序算法的详细描述,旨在帮助应聘者更好地理解和掌握这些算法,以应对软件公司的笔试挑战。 首先,让我们探讨排序算法的基本概念。排序是将一组无序的数据元素按照特定...
例如,如果你有一个`List<String>`并希望使用`Collections.sort()`方法,可以写成`list::sort`。 3. 构造器引用:在创建新对象时,可以使用`ClassName::new`来引用构造器。这在函数式编程接口如`Function`或`...
在这个例子中,会学习到如何创建对象数组,并对其中的对象进行排序(可能使用`Collections.sort()`或自定义比较器)和查找特定对象(可能使用二分查找或其他搜索算法)。这涉及到数据结构和算法的知识,对于理解...
在getViewTypeCount()方法中返回2,表示两种类型的视图——数据项和分组标题。在getItemViewType(int position)方法中判断当前位置是数据项还是分组标题,然后在getView()方法中根据类型创建相应的视图。 5. 添加...
在本项目中,我们主要探讨的是使用Java编程语言实现的经典游戏——“贪吃蛇”。Java是一种广泛应用于开发桌面应用、Web应用以及移动应用的强大编程语言,它的面向对象特性使得开发游戏变得更为直观和灵活。 ...
这两种查找方法在Java和C中都可以通过递归或循环实现。 3. **图算法**:Dijkstra算法、Floyd-Warshall算法和Kruskal算法,用于解决最短路径问题。它们在网络路由、交通规划等领域有广泛应用。Java的`PriorityQueue`...