- 浏览: 600187 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
java.lang.Comparable是一个对象本身就已经支持自比较所需要实现的接口(如String Integer自己就可以完成比较大小操作)即对象必须实现这个接口。Comparable比较用的方法是Arrays.sort(对象数组)。Comparable而是需要对象实现Comparable<对象>
java.util.Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足你的要求时,你可以写一个比较器来完成两个对象之间大小的比较。Comparator比较用的方法是Collections.sort(list, new Comparator());Comparator需要自己写一个比较类。
compareTo和compare方法返回1则表示需要交换 -1则不需要交换
java.util.Comparator是一个专用的比较器,当这个对象不支持自比较或者自比较函数不能满足你的要求时,你可以写一个比较器来完成两个对象之间大小的比较。Comparator比较用的方法是Collections.sort(list, new Comparator());Comparator需要自己写一个比较类。
compareTo和compare方法返回1则表示需要交换 -1则不需要交换
package test.Compare; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class CompareTest { public static void main(String[] args) { List<PersonA> list = new ArrayList<PersonA>(); PersonA p1 = new PersonA(23); list.add(p1); PersonA p2 = new PersonA(21); list.add(p2); PersonA p3 = new PersonA(29); list.add(p3); Object pArr[] = list.toArray(); Arrays.sort(pArr); for (Object v : pArr) { System.out.println(v); } List<PersonB> list1 = new ArrayList<PersonB>(); PersonB p4 = new PersonB(23); list1.add(p4); PersonB p5 = new PersonB(21); list1.add(p5); PersonB p6 = new PersonB(29); list1.add(p6); //从小到大顺序 Collections.sort(list1, new SortPersonBAge()); for (PersonB v : list1) { System.out.println(v); } //从大到小 Collections.reverse(list1); for (PersonB v : list1) { System.out.println(v); } } }; // Comparable是java.lang包里面的Arrays.sort(pArr); class PersonA implements Comparable<PersonA> { private int age; public PersonA(int age) { super(); this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(PersonA o) { if (this.age > o.getAge()) return 1; else if (this.age < o.getAge()) return -1; return 0; } @Override public String toString() { return this.age + " "; } } class PersonB { private int age; public PersonB(int age) { super(); this.age = age; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return this.age + " "; } } //Comparable Comparator是java.util包体里面的 class SortPersonBAge implements Comparator<PersonB> { @Override public int compare(PersonB o1, PersonB o2) { if (o1.getAge()>o2.getAge()) { return 1; } else if (o1.getAge()<o2.getAge()) { return -1; } return 0; } };
发表评论
文章已被作者锁定,不允许评论。
-
java WeakHashMap学习(key是弱引用)
2018-06-21 09:31 1232在Java集合中有一种特殊的Map类型:WeakHashMap ... -
java HashMap TreeMap(key顺序) LinkedHashMap(插入顺序)学习
2018-06-07 10:27 953java为数据结构中的映射定义了一个接口java.util.M ... -
java RESTful 详解
2018-04-27 11:35 643(1)每一个URI代表一种资源,独一无二; (2)客户端 ... -
java 通过HttpsUrlConnection访问接口数据
2018-04-19 11:25 990server: ssl: key-stor ... -
java 使用多线程的场景总结
2018-04-10 14:35 1704在一个高并发的网站中,多线程是必不可少的。下面先说一下多线程在 ... -
java Enum枚举设置
2018-04-10 10:55 480/** * 数据状态:0:无效,1:有效 **/ ... -
java RestTemplate访问restful服务
2018-03-01 15:02 1622REST的基础知识 当谈论REST时,有一种常见的错误就是将其 ... -
java FYOpenApi实现短信发送
2018-01-02 17:10 11741.配置文件 sms.OpenUrl = http://s ... -
java JSONObject序列化包含Date类型数据的Java对象
2017-12-26 16:31 1617如果Date.class无法进行转换则使用Timestamp. ... -
java 用HttpsURLConnection进行传递中文时错误总结
2017-12-07 16:42 654传递中文时需要用Writer而不是OutputStream ... -
java 内存泄漏
2017-11-27 13:51 4961.内存溢出 out of memory ... -
ActiveMQ 三种发送消息方式(同步,异步,单向)
2017-11-17 10:25 2454MQ 发送普通消息有三种实现方式:可靠同步发送、可靠异步发送、 ... -
java Guava ListenableFuture实现线程回调功能
2017-11-14 10:17 1775java Future具有局限性。在实际应用中,当需要下 ... -
java Curator实现分布式锁
2017-09-05 14:39 1090Curator实现分布式锁主要依赖于zookeeper ... -
java Guava工具集学习(强大)
2017-09-05 10:28 433import java.util.Iterator ... -
java CyclicBarrier进行并发编程
2017-08-25 15:44 673CyclicBarrier允许一组线程相互等待达到一个公共的障 ... -
java 几种性能优化的总结
2017-08-23 14:08 3251、使用StringBuilder 一般 ... -
java 使用kyro进行高性能序列化对象和集合
2017-08-23 14:05 2152import java.io.ByteArrayInp ... -
java 对重复电话号码进行排除的优化(排序和前后对比)
2017-08-22 14:14 7911.先对10万数据排序; 2.对比前后两条数据 ; 3.筛 ... -
ActiveMQ 结合Spring进行数据同步
2017-07-19 15:27 584注意事项hibernate配置文件必须设置自动提交否则不能插入 ...
相关推荐
Java Comparable和Comparator对比详解 Java 中的 Comparable 和 Comparator 是两个常用的接口,用于实现对象的比较和排序。它们都是 Java 中的接口,都是用于比较对象的大小的,但它们有所不同。 Comparable 接口 ...
Comparable接口位于java.lang包中,它只有一个方法:compareTo(Object o)。任何实现了Comparable接口的类,其实例都可以进行自然排序。自然排序指的是根据类的业务逻辑定义的排序规则。例如,String类就实现了...
Comparable接口来源于java.lang包,它定义了一个方法`compareTo(T o)`。任何类如果实现了Comparable接口,就表明这个类的对象可以相互比较大小。例如,Java中的String、Integer等类都实现了Comparable接口,这使得...
import java.util.Comparator; public class CustomerComparator implements Comparator<Customer> { @Override public int compare(Customer c1, Customer c2) { // 首先比较年龄 if (c1.getAge() ()) return ...
首先,`Comparable`接口是Java.lang包下的一个接口,它只有一个方法`compareTo(T o)`。任何类如果想要实现自然排序,即按照类定义的规则进行排序,都可以实现这个接口。例如,`String`类就实现了`Comparable`接口,...
Java 中的 Comparable 和 Comparator 接口详解 Java 中的 Comparable 和 Comparator 接口都是用于比较和排序的,但是它们之间存在着一些关键的区别。Comparable 是一个排序接口,若一个类实现了 Comparable 接口,...
首先,`Comparable`接口位于`java.lang`包下,它定义了一个`compareTo()`方法,这个方法用于比较对象之间的自然顺序。如果一个类的实例需要参与排序,那么该类通常会实现`Comparable`接口。例如,`String`类就实现了...
Comparable接口位于`java.lang`包下,它是一个对象自比较的接口。任何类如果需要进行排序,可以实现Comparable接口。例如,String、Integer等内置类已经实现了Comparable接口,可以方便地进行大小比较。当我们自定义...
Comparable接口定义在`java.lang`包中,它只有一个方法`compareTo(T o)`,用于比较当前对象与另一个对象的大小。当一个类实现了Comparable接口,意味着类的实例可以被自然排序,无需额外的比较器。例如,String类就...
Comparable 接口位于 java.lang 包下面,里面只有一个 compareTo(T) 方法。当一个类需要比较的时候,需要自行实现 Comparable 接口的 compareTo 方法。当调用集合排序方法的时候,就会调用对象的 compareTo() 方法来...
- `java.util.Comparator`和`java.lang.Comparable`:用于对象之间的比较。 这些主题共同构成了Java SE的基础,是理解和开发Java应用程序的关键。通过学习这些概念,开发者能够创建安全、高效和可维护的代码。
Comparable接口是Java.lang包中的一个接口,提供了一个自然排序方式。该接口适用于一个类有自然顺序,例如String和Integer等Java内建类。实现Comparable接口需要实现compareTo(Object o)方法,该方法比较当前实例...
首先,`Comparable`接口位于`java.lang`包中,它只有一个方法`compareTo(T o)`。任何类如果实现了`Comparable`接口,就表明该类的对象可以进行自然排序。所谓自然排序,是指根据类中定义的逻辑来决定对象之间的顺序...
- `Comparable`和`Comparator`接口常用于排序操作,实现了这两个接口的对象可以进行比较。 5. **异常处理**: - Java使用异常处理机制来处理运行时错误。异常类位于`java.lang.Throwable`及其子类,如`...
首先,`Comparable`接口是Java的`java.lang`包中的一个基础接口,它的目的是为那些具有自然排序顺序的类提供一种排序机制。例如,`String`和`Integer`类都实现了`Comparable`接口,因此我们可以直接比较字符串或整数...
首先,`Comparable`接口是Java的核心API,位于`java.lang`包下。它的主要目的是提供一种方式,使得对象可以自我比较并确定它们之间的顺序。当你想要对一个对象类型的集合(如数组或列表)进行自然排序时,你可以让这...
【Java 华为面试题详解】 ... - 包:java.util, java.io, java.lang, java.awt, java.net - 接口:Runnable, Comparable, Comparator, Cloneable, Serializable 7. **ArrayList, Vector, ArrayLink
对于数组中的元素类型本身支持比较(如`Integer`, `String`等),我们可以通过让类实现`java.lang.Comparable`接口来直接排序。`Comparable`接口同样有一个`compareTo()`方法,但它是类的成员方法,用于定义类实例...
- 接口与实现:Iterable、Iterator、Comparable、Comparator,这些接口在处理集合时经常用到。 3. **并发处理API**: - `java.util.concurrent`包:提供了线程池、并发容器、同步工具类,如ExecutorService、...