`

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());
}
}
}
分享到:
评论

相关推荐

    collection_map_demo:java集合框架的demo

    collection_map_demo java集合框架的demo 通过实现一个学生选课的demo了解java集合框架知识点 List、Set、Map的增删改查 Collections工具类的sort方法以及comparable接口和comparator接口

    javase基础编程demo

    本代码关于j2se基础,常用类,java集合类,多线程,AWT编程等等

    Java Web Service xFire Demo项目,带所有的包,完美运行

    Java Web Service xFire Demo项目,带所有的包,完美运行 1.实现客户端向Service传值并反回相应的实体类,集合类

    java集合知识-map、set等

    一般情况下,如果自定义的类会产生很多对象,比如人,学生,书,通常都需要覆盖equals,hashCode方法。 建立对象判断是否相同的依据。 import java.util.HashSet; import java.util.Iterator; import java.util....

    Java开发技术大全(500个源代码).

    HasStatic.java 一个简单的拥有静态成员的类 hideMember_1.java 成员隐藏示例1 hideMember_2.java 成员隐藏示例2 hideMember_3.java 成员隐藏示例3 hideMember_4.java 成员隐藏示例4 hideMember_5.java 成员...

    TreeGrid控件及Demo源码

    另外,还有TreeGridNode和TreeGridRow的集合类。 与TreeView区别在于不同的展现方式和视图状态管理。 TreeGrid使用GridView的展现方式和语法,并且在客户端可以控制节点的展开和折叠。与GridView的展现方式和语法...

    Java对象、数组、集合转换为Json(Json转化为Java对象、数组、集合)

    这是本人写的一个基于JSON的完整项目,实现了Java对象、数组、集合转换为Json(Json转化为Java对象、数组、集合)。这是一个完整的项目,下载解压后直接导入MyEclipse/Eclipse中,运行com.demo.JSONDemo类即可看到效果...

    javastream源码-demo-java-stream-collectors:“预定义的Java流收集器”文章和源代码

    将输入元素简化为集合的收集器是最简单的。 它们允许将流收集到List,Set和特定Collection中。 定期向收藏家收集 要收集流到列表,可以使用toList方法中的收集器。 不保证所返回列表的类型,可变性,可序列化性或...

    java se和java ee基础功能点开发测试包

    该包围绕java se结合java ee的基础应用对目前最基础最常见的应用分别给以做了相关demo 具体包括有设计模式demo(设配模式、装饰模式、享元模式)、线程池设计方案、集合类容器demo、io流、Cloneable接口、自定义标签...

    java常用工具类的使用

    在Java程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模式...

    基于202312最新版本的BC生成X509v3证书Demo,集合了两个独立的demo,实现对扩展Extension 的设置

    java代码,基于202312最新版本的BC生成X509v3证书Demo,同时生成pfx及cer证书,并有验签的封装类和测试demo。 里面集合了两个独立的demo。 实现对证书的 扩展Extension 字段 的设置。

    java编程宝典

    3集合框架 11 3.1 如何遍历一个List/Set(foreach、Iterator、Lambda表达式) 11 3.2 如何遍历一个Map(foreach、Iterator、Lambda表达式) 11 3.3 如何实现一个Set&lt;Student&gt; set = new TreeSet(); 12 3.4 如何实现...

    java8源码-guava-demo:番石榴演示

    不过具体是否应用依据项目而定,在Java8环境下,Java8同样提供一些工具类和函数式接口与guava有 重叠的功能,类似Java8有Collections,Arrays,Optional,StringUtils,Stream,Consumer等。所以在Java中没有所需要的 工具...

    easyui demo.rar

    jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出...就像我们可以通过添加jar包的方式引入一些Java类一样,我们可以通过和标签在网页中添加对CSS和JS库的引用。

    java 面试题 总结

    Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。 11、HashMap...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    在 java 语言中,Java 程序的基本单位是类,也就是说:一个 Java 程序是由多个类组成 的。定义一个类与定义一个数据类型是有区别的。在程序设计语言中,把定义数据类型的能 力作为一种很重要的能力来对待。在面向...

    java8源码-JRX_Training:培训学习使用

    CollectionStudy包下为Java集合类体系中常用的实现类的相关Demo ExceptionStudy包下为Java的异常处理相关Demo 此次学习的笔记有三个已同步到我的个人博客: 集合容器笔记: 异常处理的笔记: Maven笔记: 第二次作业...

    java程序设计程序题16道

    13. 编写代码实现一个Demo类,该类继承于Thread类,该类包括三个私有类方法,字符串类型的a,int类型的b,双精度类型的c。 参考答案: class Demo extends Thread { privatestatic String a; privatestatic int b;...

    Java学习笔记---15.面向对象编程10-Java中final关键字,抽象类与接口

    好啊好啊 抽象类与接口是Java中最重要部分之一,这里用较大的篇幅来做下这部分的笔记. 1. final关键字 在Java中, 可以使用final关键字修饰类、方法以及成员变量。 (1).final标记的类不能被继承; (2).final标记...

Global site tag (gtag.js) - Google Analytics