JAVA中ArrayList重写比较方法
ArrayList的sort方法重写:
当ArrayList中存放的为含有多个成员变量的数据类型时,在进行sort排序时要重写比较方法,一般都写在这个数据类型类的内部如:
package 算法竞赛入门到精通;
import java.util.*;
public class 电视节目 {
static ArrayList<node> a=new ArrayList<node>();
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
node n1=new node();
n1.end=5;
node n2=new node();
n2.end=6;
node n3=new node();
n3.end=3;
node n4=new node();
n4.end=1;
node n5=new node();
n5.end=7;
a.add(n1);
a.add(n2);
a.add(n3);
a.add(n4);
a.add(n5);//在a中加入node类型的五个数
for(int i=0;i<a.size();i++)//输出未排序的
{
System.out.println(a.get(i).end+" ");
}
a.sort(null);//排序
for(int i=0;i<a.size();i++)//输出排序之后的
{
System.out.println(a.get(i).end+" ");
}
}
static class node implements Comparable<node>
{
int start;
int end;
node(){}
@Override
public int compareTo(node n) {//重写比较方法
// TODO Auto-generated method stub
int i=end-n.end;
if(i<0)
return -1;
else if(i>0)
return 1;
return 0;
}; } }
JAVA中ArrayList重写比较方法的更多相关文章
- Java中Set的contains()方法——hashCode与equals方法的约定及重写原则
转自:http://blog.csdn.net/renfufei/article/details/14163329 翻译人员: 铁锚 翻译时间: 2013年11月5日 原文链接: Java hashC ...
- java中ArrayList 、LinkList区别
转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...
- JAVA中ArrayList用法
JAVA中ArrayList用法 2011-07-20 15:02:03| 分类: 计算机专业 | 标签:java arraylist用法 |举报|字号 订阅 Java学习过程中做题时 ...
- Java中Set的contains()方法
Java中Set的contains()方法 -- hashCode与equals方法的约定及重写原则 翻译人员: 铁锚 翻译时间: 2013年11月5日 原文链接: Java hashCode() a ...
- java中equals和hashCode方法随笔二
前几天看了篇关于java中equals和hashCode方法的解析 1.Object类中的equals方法和hashCode方法. Object类中的equals和hashCode方法简单明了,所有的 ...
- 转载-Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast
Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast 版权声明:本文为博主原创文章,遵循CC 4. ...
- 详细分析 Java 中实现多线程的方法有几种?(从本质上出发)
详细分析 Java 中实现多线程的方法有几种?(从本质上出发) 正确的说法(从本质上出发) 实现多线程的官方正确方法: 2 种. Oracle 官网的文档说明 方法小结 方法一: 实现 Runnabl ...
- java中ArrayList 和 LinkedList 有什么区别
转: java中ArrayList 和 LinkedList 有什么区别 ArrayList和LinkedList都实现了List接口,有以下的不同点:1.ArrayList是基于索引的数据接口,它的 ...
- java中substring的使用方法
java中substring的使用方法 str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str: str ...
随机推荐
- Swift 字符(Character)
Swift 的字符是一个单一的字符字符串字面量,数据类型为 Character. import Cocoa let char1: Character = "A" let char2 ...
- [maven]scope之test
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit ...
- anconda + python 3.6安装(以前的anconda,anaconda和python版本对应关系)
anconda + python 3.6安装 anaconda + python3.6安装安装老版本带python3.6的anaconda安装老版本带python3.6的anacondaanacond ...
- [转]MySQL 中 You can't specify target table '表名' for update in FROM clause错误解决办法
原文链接:https://blog.csdn.net/qq_29672495/article/details/72668008
- LODOP中用ADD_PRINT_IMAGE缩放非图片超文本
LODOP中HTML,URL,带有img标签的IMAGE,TBALE等打印项都属于超文本.关于LODOP中的纯文本和超文本,可查看本博客相关博文:LODOP中的纯文本和超文本打印项 ADD_PRINT ...
- node-sass 安装失败解决方案
从失败到成功,尝试了不下20,最终终于解决了: 解决方案如下: 参考方案一:http://www.jianshu.com/p/89f5e094b8ce(具体的配置看这个) 参考方案二:http://b ...
- iOS——plist的创建,数据写入与读取
iOS中plist的创建,数据写入与读取 Documents:应用将数据存储在Documents中,但基于NSuserDefaults的首选项设置除外Library:基于NSUserDefaults的 ...
- Install Virtualbox on CentOS7---(後話,最終還是沒有用virtualbox做VM server ,感覺只適用于桌面)
參考: https://wiki.centos.org/zh-tw/HowTos/Virtualization/VirtualBox cd /etc/yum.repos.d wget http://d ...
- 有关IP和子网掩码的总结
从之前写的那个概括的文章之后,具体细节知识我也不知道写啥子,最近忙于毕业论文和考证,所以就总结一下这方面的知识,本篇的话就先从IP说起. IP这方面有IPv4和IPv6这两方面的内容,这里就只说IPv ...
- VS编译错误._CRT_SECURE_NO_WARNINGS、_WINSOCK_DEPRECATED_NO_WARNINGS
1.不记得原来的情况了,记得大概是这样: 低版本的 VC编译器 使用 strcpy.sprintf 等它不会报错,但是 高版本的 VS编译就会报错,大意是 strcpy.sprintf 等函数 不安全 ...