//关键词: java list 排序
//主要用到: Collections.sort方法:
package com.tom.compare;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class CompareClient {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List list = new ArrayList();
list.add(new Content(15000,"1asdfasd5000"));
list.add(new Content(10000,"10000"));
list.add(new Content(20000,"20000"));
list.add(new Content(30000,"30000"));
list.add(new Content(25000,"25000"));
list.add(new Content(13000,"13000"));
list.add(new Content(15000,"15000"));
list.add(new Content(89000,"89000"));
ContentComparator comp = new ContentComparator();
Collections.sort(list,comp);
Content content;
for(int i = 0; i < list.size(); i++){
content = (Content)list.get(i);
System.out.println(" content.getName() " + content.getName());
}
}
}
package com.tom.compare;
import java.util.Comparator;
public class ContentComparator implements Comparator {
public int compare(Object o1, Object o2) {
// TODO Auto-generated method stub
Content c1 = (Content) o1;
Content c2 = (Content) o2;
if (c1.getKey() > c2.getKey()) {
return 1;
} else {
if (c1.getKey() == c2.getKey()) {
return 0;
} else {
return -1;
}
}
}
}
package com.tom.compare;
public class Content {
private long key;
private String name;
public Content(long key, String name) {
this.key = key;
this.name = name;
}
public long getKey() {
return key;
}
public void setKey(long key) {
this.key = key;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
结果是:
content.getName() 10000
content.getName() 13000
content.getName() 1asdfasd5000
content.getName() 15000
content.getName() 20000
content.getName() 25000
content.getName() 30000
content.getName() 89000
===========================Set 排序===============================
TreeSet<Integer> set2 = new TreeSet<Integer>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
if (o1 % 2 != 0) {
if (o2 % 2 != 0) {
return o2.compareTo(o1);
}
return -1;
}
if (o2 % 2 != 0) {
return 1;
}
return o2.compareTo(o1);
}
});
这个网址有详细说明:http://www.blogjava.net/shingo/archive/2009/03/31/263190.html
相关推荐
在Java中,对象排序主要是通过对象实现`Comparable`接口或者使用自定义的`Comparator`来完成的。 1. **对象排序**: 当对象需要进行排序时,它应该实现`Comparable`接口。`Comparable`接口有一个`compareTo()`方法...
- **List**和**Set**继承自`Collection`接口。 - **Map**不是`Collection`接口的子接口,它有自己的体系结构。 #### 17. Strings=newString("xyz");创建了几个StringObject? - 创建了一个`String`对象。 #### 18. ...
#### Java面向对象 1. **super()与this()的区别?** - `super()`用于调用父类构造器,必须作为子类构造器的第一条语句出现。 - `this()`用于调用本类的其他构造器,也必须作为构造器的第一条语句出现。 2. **...
- `sort(List<T> list)`:对列表进行排序。 - `reverse(List<T> list)`:反转列表顺序。 - **查找**: - `max(Collection<? extends T> coll)`:查找最大值。 - `min(Collection<? extends T> coll)`:查找...
### 华为OD机试C卷- 字符串排序(Java & JS & Python) #### 题目背景 本题目来源于华为OD机试C卷,主要考察应聘者对字符串操作和排序算法的理解与应用能力。题目要求根据特定的排序规则对一系列单词进行排序,并...
- 常见排序方法有冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、堆排序、计数排序、桶排序、基数排序等。 - **快速排序示例**: ```java public static void quickSort(int[] arr, int low, int ...
通过GreenDao,开发者可以将Java对象直接映射到数据库表,实现数据的增删改查功能,避免了手动编写SQL语句的繁琐过程。 1. **增(Insert)**: 在GreenDao中,添加数据到数据库非常直观。首先,你需要创建一个对应...
#### 一、Java面向对象基础 ##### 1. `super()`与`this()`的区别? - **`super()`**:用于调用父类的构造方法或者父类中的成员方法。它必须是子类构造方法的第一条语句。 - **`this()`**:用于调用本类中的其他...
- Collection 是所有集合框架接口的超接口,如 Set 和 List。 - Collections 是工具类,提供了一系列静态方法用于集合操作,如排序、查找、线程安全化等。 6. **字符串对象的创建**: - `new String("xyz")` 会...
用JAVA实现一个快速排序? - **排序方法**:冒泡排序、插入排序、选择排序、快速排序、归并排序等。 - **快速排序**: ```java public static void quickSort(int[] arr, int low, int high) { if (arr == null ||...
答:JDO是java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。 CORBA? 答:CORBA标准是公共对象请求代理结构,用途为:用不同的程序设计语言书写,在不同的...
- **10.3 单列集合 Collection 接口、List 接口、Set 接口、集合工具类 Collections** - 各种集合类的特性和使用方法。 - **10.4 键值双列集合 Map** - Map 接口的实现类及使用场景。 - **10.5 泛型高级应用** - ...
### 一、查询数据(返回List集合) #### 存储过程定义 首先,我们需要在Oracle数据库中创建一个存储过程`getAreas`,该过程用于查询`areas`表中的所有数据,并按`id`排序。 ```sql CREATE OR REPLACE PROCEDURE ...
以前写了一个java的正规表达式的java工具类,分享一下,有用到的欢迎下载使用。 如果你有常用的定义好的,且测试通过的正规表达式,欢迎跟贴,也让我享用一下 . 类中用到了 jakarta-oro-2.0.jar 包,请大家自己在 ...
在这个例子中,我们首先创建了一个User对象,然后使用这个对象创建QueryWrapper实例。接着,通过调用eq(等于)、ge(大于等于)等方法设置查询条件,最后执行`selectList`方法获取满足条件的用户列表。 Query...
- Sorted Set:除了集合操作外,还支持按分数排序。 - Hash:用于存储键值对,可进行添加、更新、删除等操作。 2. 事务处理: - Jedis 支持批处理命令,允许用户在一个事务中执行多条命令,保证原子性。 3. ...
ORMLite提供了丰富的查询条件,如`where()`用于构建WHERE子句,`and()`, `or()`用于组合条件,`orderBy()`指定排序方式。例如: ```java List<User> users = dbHelper.getUserDao().queryBuilder() .where().eq(...
使用`setOrder(Order order)`或`addOrder(Order order)`方法可以指定查询结果的排序方式。例如,按年龄降序排列: ```java criteria.addOrder(Order.desc("age")); ``` 投影(Projection)允许我们选择返回...