吴裕雄--天生自然java开发常用类库学习笔记:排序及重复元素说明
- import java.util.Set ;
- import java.util.HashSet ;
- class Person{
- private String name ;
- private int age ;
- public Person(String name,int age){
- this.name = name ;
- this.age = age ;
- }
- public String toString(){
- return "姓名:" + this.name + ";年龄:" + this.age ;
- }
- };
- public class RepeatDemo01{
- public static void main(String args[]){
- Set<Person> allSet = new HashSet<Person>() ;
- allSet.add(new Person("张三",30)) ;
- allSet.add(new Person("李四",31)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("赵六",33)) ;
- allSet.add(new Person("孙七",33)) ;
- System.out.println(allSet) ;
- }
- };
- import java.util.Set ;
- import java.util.HashSet ;
- class Person{
- private String name ;
- private int age ;
- public Person(String name,int age){
- this.name = name ;
- this.age = age ;
- }
- public boolean equals(Object obj){ // 覆写equals,完成对象比较
- if(this==obj){
- return true ;
- }
- if(!(obj instanceof Person)){
- return false ;
- }
- Person p = (Person)obj ; // 向下转型
- if(this.name.equals(p.name)&&this.age==p.age){
- return true ;
- }else{
- return false ;
- }
- }
- public int hashCode(){
- return this.name.hashCode() * this.age ; // 定义一个公式
- }
- public String toString(){
- return "姓名:" + this.name + ";年龄:" + this.age ;
- }
- };
- public class RepeatDemo02{
- public static void main(String args[]){
- Set<Person> allSet = new HashSet<Person>() ;
- allSet.add(new Person("张三",30)) ;
- allSet.add(new Person("李四",31)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("赵六",33)) ;
- allSet.add(new Person("孙七",33)) ;
- System.out.println(allSet) ;
- }
- };
- import java.util.Set ;
- import java.util.TreeSet ;
- class Person{
- private String name ;
- private int age ;
- public Person(String name,int age){
- this.name = name ;
- this.age = age ;
- }
- public String gtoString(){
- return "姓名:" + this.name + ";年龄:" + this.age ;
- }
- };
- public class TreeSetDemo02{
- public static void main(String args[]){
- Set<Person> allSet = new TreeSet<Person>() ;
- allSet.add(new Person("张三",30)) ;
- allSet.add(new Person("李四",31)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("赵六",33)) ;
- allSet.add(new Person("孙七",33)) ;
- System.out.println(allSet) ;
- }
- };
- import java.util.Set ;
- import java.util.TreeSet ;
- class Person implements Comparable<Person>{
- private String name ;
- private int age ;
- public Person(String name,int age){
- this.name = name ;
- this.age = age ;
- }
- public String toString(){
- return "姓名:" + this.name + ";年龄:" + this.age ;
- }
- public int compareTo(Person per){
- if(this.age>per.age){
- return 1 ;
- }else if(this.age<per.age){
- return -1 ;
- }else{
- return 0 ;
- }
- }
- };
- public class TreeSetDemo03{
- public static void main(String args[]){
- Set<Person> allSet = new TreeSet<Person>() ;
- allSet.add(new Person("张三",30)) ;
- allSet.add(new Person("李四",31)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("赵六",33)) ;
- allSet.add(new Person("孙七",33)) ;
- System.out.println(allSet) ;
- }
- };
- import java.util.Set ;
- import java.util.TreeSet ;
- class Person implements Comparable<Person>{
- private String name ;
- private int age ;
- public Person(String name,int age){
- this.name = name ;
- this.age = age ;
- }
- public String toString(){
- return "姓名:" + this.name + ";年龄:" + this.age ;
- }
- public int compareTo(Person per){
- if(this.age>per.age){
- return 1 ;
- }else if(this.age<per.age){
- return -1 ;
- }else{
- return this.name.compareTo(per.name) ; // 调用String中的compareTo()方法
- }
- }
- };
- public class TreeSetDemo04{
- public static void main(String args[]){
- Set<Person> allSet = new TreeSet<Person>() ;
- allSet.add(new Person("张三",30)) ;
- allSet.add(new Person("李四",31)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("王五",32)) ;
- allSet.add(new Person("赵六",33)) ;
- allSet.add(new Person("孙七",33)) ;
- System.out.println(allSet) ;
- }
- };
吴裕雄--天生自然java开发常用类库学习笔记:排序及重复元素说明的更多相关文章
- 吴裕雄--天生自然java开发常用类库学习笔记:比较器
class Student implements Comparable<Student> { // 指定类型为Student private String name ; private i ...
- 吴裕雄--天生自然java开发常用类库学习笔记:定时调度
// 完成具体的任务操作 import java.util.TimerTask ; import java.util.Date ; import java.text.SimpleDateFormat ...
- 吴裕雄--天生自然java开发常用类库学习笔记:正则表达式
public class RegexDemo01{ public static void main(String args[]){ String str = "1234567890" ...
- 吴裕雄--天生自然java开发常用类库学习笔记:观察者设计模式
import java.util.* ; class House extends Observable{ // 表示房子可以被观察 private float price ;// 价钱 public ...
- 吴裕雄--天生自然java开发常用类库学习笔记:Arrays
import java.util.* ; public class ArraysDemo{ public static void main(String arg[]){ int temp[] = {3 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:大数操作
import java.math.* ; class MyMath{ public static double add(double d1,double d2){ // 进行加法计算 BigDecim ...
- 吴裕雄--天生自然java开发常用类库学习笔记:NumberFormat
import java.text.* ; public class NumberFormatDemo01{ public static void main(String args[]){ Number ...
- 吴裕雄--天生自然java开发常用类库学习笔记:Math与Random类
public class MathDemo01{ public static void main(String args[]){ // Math类中的方法都是静态方法,直接使用“类.方法名称()”的形 ...
- 吴裕雄--天生自然java开发常用类库学习笔记:取得当前日期
import java.util.* ; // 导入需要的工具包 class DateTime{ // 以后直接通过此类就可以取得日期时间 private Calendar calendar = nu ...
- 吴裕雄--天生自然java开发常用类库学习笔记:日期操作类DataFormat、SimpleDataFormat
import java.text.DateFormat ; import java.util.Date ; public class DateDemo03{ public static void ma ...
随机推荐
- C 语言入门---第十一章---C语言重要知识点补充
====C语言typedef 的用法==== 1. C语言允许为一个数据类型起一个新的别名,就像给人起绰号一样. typedef OldName newName; typedef 和 #define ...
- LeetCode 725. Split Linked List in Parts(分隔链表)
题意:将原链表分隔成k个链表,要求所有分隔的链表长度差异至多为1,且前面的链表长度必须大于等于后面的链表长度. 分析: (1)首先计算链表总长len (2)根据len得到分隔的链表长度要么为size, ...
- Spark入门:第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2
三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bi ...
- underscore.js -2009年发布的js库
2009 Underscore.js 0.1.0发布 Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它是这个问题的 ...
- Nodejs回调加超时限制两种实现方法
odejs回调加超时限制两种实现方法 Nodejs下的IO操作都是异步的,有时候异步请求返回太慢,不想无限等待回调怎么办呢?我们可以给回调函数加一个超时限制,到一定时间还没有回调就表示失败,继续后面的 ...
- WEB, Flask - Session&Cookie
参考: https://blog.csdn.net/nunchakushuang/article/details/74652877 http://portal.xiaoxiangzi.com/Prog ...
- [Linux] day03——REHL部署
REHL 部署 Linux 树形目录结构 最顶层 根 / 在Linux中 一切皆文件 文件系统 swap / 安装方式 PXE U盘 光盘 配置安装程序 选择包 5.9 6.4
- 再论谭浩强《C语言程序设计》
一些同学学不好C语言,把罪责归于“因为教材是谭浩强写的”实在是很滑稽. 谭浩强老先生 1934 年生,现在已经 80 岁了.他 1958 年从清华大学自动控制系毕业,那年 24 岁.要知道 C 语言那 ...
- 【快学springboot】1.快速创建springboot项目
若图片查看异常,请前往掘金查看:https://juejin.im/post/5d00e793f265da1b614ff10b 使用spring initialize工具快速创建springboot项 ...
- 新建Django 项目完整流程
1) 在桌面或者其他文件 新建项目名称 (mkdir 新建文件夹) 2)进入文件夹 pipenv --python3(用命令提示粘贴复制, 自己这样写经常有问题) 3) 启动虚拟环境 pipenv ...