`

Java 集合类 简单Demo

阅读更多
package net.xxt.basic;

import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

/**
* 描述:List实现Comparable接口或者为其指定比较器
* 一个java文件只能有一个类是public 的,招执行时从main方法开始
* @author cjz  2009-7-29
*
*/
class User implements Comparable {
String name;

String age;

public User(String name, String age) {
this.name = name;
this.age = age;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int compareTo(Object o) {
User user = (User) o;
int flag = this.getAge().compareTo(user.getAge());
return flag == 0 ? flag : this.getName().compareTo(user.getName());
}
}

class ComparatorUser implements Comparator {


public int compare(Object arg0, Object arg1) {
User user0 = (User) arg0;
User user1 = (User) arg1;
int flag = user0.getAge().compareTo(user1.getAge());
return flag != 0 ? flag : user0.getName().compareTo(user1.getName());
}
//定义的一个比较器

}

/**
* 描述:
* @author cjz  2009-7-29
*
*/
public class CollectionsTest {
public static void main(String[] args) {
List<User> userlist = new ArrayList<User>();
userlist.add(new User("dd", "4"));
userlist.add(new User("aa", "1"));
userlist.add(new User("ee", "5"));
userlist.add(new User("bb", "2"));
userlist.add(new User("ff", "3"));
userlist.add(new User("cc", "3"));
userlist.add(new User("gg", "6"));

ComparatorUser comparator = new ComparatorUser(); //创建一个比较器
  Collections.sort(userlist, comparator);
// Collections.sort(userlist);
for (int i = 0; i < userlist.size(); i++) {
User user_temp = (User) userlist.get(i);
System.out.println(user_temp.getAge() + "," + user_temp.getName());
}
}
}
分享到:
评论

相关推荐

    Java音乐播放 简单demo

    4. **歌曲列表管理**:为了实现添加歌曲到播放列表的功能,可以使用`ArrayList`或者`LinkedList`等集合类来存储歌曲信息(如文件路径)。用户界面中可能有一个列表视图展示这些歌曲,可以通过事件监听器来响应用户的...

    Java调用Redis 简单Demo

    接下来,我们创建一个简单的Java类,演示如何连接到Redis并执行基本操作: ```java import redis.clients.jedis.Jedis; public class RedisDemo { public static void main(String[] args) { // 创建Jedis实例...

    demo_java的demo_java_risingcck_DEMO_demojava_

    但我们可以假设"demo"可能是一个包含多个Java源代码文件(.java)的目录,每个文件都代表一个独立的示例,覆盖了Java编程的不同方面,如变量、数据类型、控制结构(如if语句和循环)、类与对象、继承、接口、异常...

    Java源代码小Demo

    4. **集合框架**:ArrayList、LinkedList、HashSet、HashMap等常见集合类的使用,以及遍历、添加、删除元素的方法。 5. **IO流**:学习输入输出流的概念,如FileInputStream、FileOutputStream、BufferedReader、...

    Java调用Redis 简单Demo.zip

    接下来,让我们创建一个简单的Java类`RedisDemo.java`,并实现连接Redis服务器、设置键值对、获取键值对以及关闭连接的基本操作: ```java import redis.clients.jedis.Jedis; public class RedisDemo { public ...

    java se 8官方demo

    10. **集合工厂方法**:Java 8为集合类如`List`, `Set`, `Map`添加了新的工厂方法,可以直接创建带初始值的集合,如`List.of()`, `Set.of()`, `Map.of()`等。 通过深入研究这些Java SE 8的官方示例代码,开发者可以...

    JAVA经典小程序demo.rar

    【JAVA经典小程序demo.rar】是一个压缩包,其中包含了一系列与Java编程相关的经典示例程序。这些小程序可能涵盖了Java语言的基础到高级概念,是学习和理解Java编程语言的宝贵资源。Java是一种广泛使用的面向对象的...

    Java-redis-demo

    这个"Java-redis-demo"项目可能包含了上述部分或全部知识点的实现,通过`TestRedis`类的代码,你可以学习到如何在实际项目中运用Java与Redis的交互。记得根据具体需求和场景来调整配置和使用方法,以达到最佳效果。

    java8lambda表达式Demo

    在Java 8之前,如果需要定义一个简单的功能,如比较两个对象的大小,通常需要创建一个实现了特定接口的类,并重写其方法。Lambda表达式则可以让我们直接在一行代码内完成这个过程,例如 `(a, b) -&gt; a.compareTo(b)`...

    大华视频 最新java后台程序开发demo

    1. **Java基础**:包括语法、类、对象、包、接口、异常处理、集合框架等,这些都是编写任何Java程序的基础。 2. **MVC架构**:Model-View-Controller模式是Java Web应用中的常见设计模式,它将业务逻辑、数据和用户...

    java 学习demo 完全自己写的demo

    在压缩包中的代码可能涉及到这些基础元素的实例,如创建简单的类,定义方法,以及如何使用构造函数。 2. **数据类型与变量**: Java分为基本数据类型(如整型、浮点型、字符型和布尔型)和引用数据类型。学习过程中...

    java json互转demo

    此外,如果你需要将Java集合(如List或Map)转换为JSON,JSON-LIB也提供了相应的方法。例如,将一个List转换为JSON数组: ```java List&lt;Person&gt; people = new ArrayList(); people.add(person); JSONArray ...

    java SE最经典的桌面小程序(N多demo)适合初学者

    7. **集合框架**:Java集合框架包括List、Set、Queue、Map等接口及其实现类,DEMO将展示如何使用ArrayList、LinkedList、HashSet、HashMap等数据结构进行数据存储和操作。 8. **网络编程**:Java提供了Socket编程...

    4个java经典demo

    通过理解和实践这些Demo,学习者可以逐步熟悉Java的语法和编程思想,为进一步深入学习Java的高级特性,如异常处理、多线程、集合框架、IO流、网络编程等打下坚实基础。在实践中不断探索和练习,是掌握任何编程语言的...

    java多线程代码demo

    本示例代码集合("java多线程代码demo")涵盖了多线程的多种实现方式,包括Thread类和Runnable接口的使用,以及对死锁的理解与避免。通过以下详细解释,你可以深入了解Java多线程的原理和实践。 1. **Thread类**:...

    java观察者模式demo----未使用java工具类

    在Java中,标准的观察者模式实现是通过`java.util.Observable`类和`java.util.Observer`接口来完成的,但本示例特别指出未使用这两个内置工具类,而是完全自定义实现了观察者模式。 观察者模式的主要组件包括: 1. ...

    Java对数据库CRUD DEMO

    在本DEMO中,你可能会看到`java.sql.Connection`、`Statement`、`PreparedStatement`和`ResultSet`等核心接口和类的使用。 2. **连接数据库**: 使用`DriverManager.getConnection()`方法建立与数据库的连接。首先...

    JavaDemo_java_云课堂_

    在"JavaDemo.txt"中,开发者可能通过编写简单的实例来解释这些概念,以便学习者能更好地理解和掌握。通过分析和运行这些代码,学习者可以逐步提高自己的编程技能,从而在实际工作中灵活运用Java解决各种问题。同时,...

    使用的java系统demo

    【标题】:“使用的Java系统Demo” 在这个“使用的Java系统Demo”中,我们主要探讨的是Java在实际系统开发中的应用和示例。Java是一种广泛应用于企业级应用开发的强大编程语言,以其“一次编写,到处运行”的跨平台...

Global site tag (gtag.js) - Google Analytics