arraylist排序

1.ArrayList使用排序的初衷

我们知道ArrayList的好处是可以不用限定容器的大小,他会根据元素的增加自己扩大。但是存储进去的数据类型都会变成object,虽然每个元素有自己的index,但不像数组的下标可以更加方便的操作。那我们平时学习的选择排序啊快速排序啊都是对数组进行操作。最开始的笨办法就是把list中的数据传给数组排序好了再传回来喽。但是这样效率真的下降的不是几倍,是几十倍啊真的不能这样来。查了点资料和案例在这里总结一下。

2.对一个ArrayList中的数组进行排序。

首先来看下Collection的帮助文档:

在这里顺便补充下ArrayList和Collection的关系:

具体的使用代码如下:import java.util.ArrayList;

import java.util.Collections;

import java.util.scanner;

public class compre {

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner scan=new Scanner(System.in);

int n;

ArrayList al=new ArrayList();

System.out.println("请输入需要的个数");

n=scan.nextint();

System.out.println("请逐一输入");

for(int i=0;i

al.add(i,scan.nextInt());

}

System.out.println("你输入的数字是:");

for(int i=0;i

int temp=(int)al.get(i);

System.out.print(temp+" ");

}

collections.sort(al);//针对一个ArrayList内部的数据排序

System.out.println();

System.out.println("经过排序后:");

for(int i=0;i

int temp=(int)al.get(i);

System.out.print(temp+" ");

}

}

}

运行结果:

2.多个ArrayList中的元素进行排序class SortByName implements Comparator {

public int compare(Object o1, Object o2) {

Student s1 = (Student) o1;

Student s2 = (Student) o2;

return s1.getName().compareTo(s2.getName());

}

}class SortByAge implements Comparator {

public int compare(Object o1, Object o2) {

Student s1 = (Student) o1;

Student s2 = (Student) o2;

return s1.getAge().compareTo(s2.getAge());

// if (s1.getAge() > s2.getAge())

// return 1;

// return -1;

}

}

相关阅读

先说下原因,最近项目中出现了获取网络数据混乱的情况,经过仔细查看才知道是加入集合的顺序出了问题,由于我是循环获取id,然后再循环请

ArrayList源码分析

ArrayList简介

我们知道,ArrayList是基于数组实现的List类,完全支持List接口的全部功能,底层实质上就是一个O

一,查看磁盘空间大小的命令:dfdf命令用于查看磁盘分区上的磁盘空间,包括使用了多少,还剩多少,默认单位是KB比如以下命令:df -hl执行结果

文章目录`java.util.ArrayList`数组和`ArrayList`的比较例1例2书后的练习java.util.ArrayList

从书中各种代码来看,java.util.A

arraylist java 排序_「arraylist排序」java ArrayList的两种排序方法 - seo实验室相关推荐

  1. python画指数函数图像_「指数函数图像」python画出e指数函数的图像 - seo实验室...

    指数函数图像 这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近: exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ...#!/us ...

  2. python数字转英文_「年月日英文」python英文日期转数字年月日格式 - seo实验室

    年月日英文 import time import datetime time='Friday, November 18, 2016' time_format=datetime.datetime.str ...

  3. jquery对textarea写入_「textarea赋值」JQuery给textarea取值和赋值 - seo实验室

    textarea赋值 JQuery给textarea取值和赋值 取值 var qrcodefortemcontent=$("#qrcodefortemcontent").val() ...

  4. java8 lambda maplist排序_「java8系列」流式编程Stream

    前言 「Java8系列」神秘的Lambda 「Java8系列」神奇的函数式接口 继上两篇之后,本文已经java8系列的第三篇了.本篇文章比较长,但我希望大家都能认真读完.读不完可以先收藏,在找时间读. ...

  5. 虚拟机的分类_「面试必备」Java虚拟机知识点复习手册(下)

    关注我的微信公众号:后端技术漫谈 不定期推送关于后端开发.爬虫.算法题.数据结构方面的原创技术文章,以及生活中的逸闻趣事. 我目前是一名后端开发工程师.主要关注后端开发,数据安全,网络爬虫,物联网,边 ...

  6. 类似婚礼纪的Java项目_「婚礼纪」婚礼纪 java面试 - seo实验室

    婚礼纪 我现在只是一个快2年经验的平凡的菜鸡boy 第一面架构师面试 1.简单介绍一下你经常使用的集合 3.arraylist和linklist的区别 4.map有用过吧,简单说一下 5.说一下Has ...

  7. java锁的有哪些_「并发编程」Java锁分类和特点有哪些

    公平锁.非公平锁:公平锁指多个线程按照申请锁的顺序来获取锁,非公平锁就是没有顺序完全随机,所以能会造成优先级反转或者饥饿现象:synchronized 就是非公平锁,ReentrantLock(使用 ...

  8. java -jar 指定端口_「Linux命令」-Java程序员需要掌握的10个命令

    作为服务端开发的同学,经常会与linux服务器打交道,一些用的命令必须要掌握. 1.top命令-观察服务端负载情况 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况 ...

  9. java jxl poi_「excle下载」java实现下载excle(jxl、poi 两种方式) - seo实验室

    excle下载 @requestMAPPing(value="/download_index") public String downloadexcel(HttpServletRe ...

  10. excel导入mysql实验_「excel数据库」将excel表导入数据库的方法步骤 - seo实验室

    excel数据库 在excel中录入好数据以后,可能会有导入数据库的需求,这个时候就需要利用一些技巧导入.接下来是seo实验室小编为大家带来的如何将excel表导入数据库的方法,希望对你有用. 将ex ...

最新文章

  1. 华为修改优先级命令_VOlTE指标设定(华为网管各种命令)
  2. CF17E:Palisection——题解
  3. mysql 做回归模型_GitHub - themycode/intelligent-test-platform: intelligent-test-platform
  4. c++随机数函数rand()
  5. 第四节:跨域请求的解决方案和WebApi特有的处理方式
  6. keil4内嵌汇编_keil C中嵌入汇编程序的方法
  7. 用python和pycharm能做什么_pycharm能干嘛
  8. Android第十二期 - NavigationDrawer侧边栏滑动效果左右可控制
  9. Noip 2016 Day1 题解
  10. 深度学习 --- 受限玻尔兹曼机RBM(直接采样、接受-拒绝采样、重要性采样详解)
  11. PICT的安装及使用
  12. powerquery分组_Power Query 基本功能使用
  13. Python 颜色代码大全
  14. c#语言猜数字游戏,使用C#实现猜数字游戏
  15. 最经典的人生定律、法则、效应总结
  16. springboot+vue+elementUI 公司财务固定资产管理系统#毕业设计
  17. 如何“延迟加载”嵌入式YouTube视频
  18. U盘 安装 WIN7 ISO
  19. 《阿里云周刊》第4期:开放共享,网商银行的运营探索及技术支撑
  20. 力扣刷题:四数之和(C++)

热门文章

  1. nodejs项目实例心理咨询微信小程序
  2. 永清一中2021高考成绩查询,河北高中成绩排名2021,河北中考分数线排行榜
  3. 代码详解:用深度学习在Keras中对蝴蝶进行分类
  4. mac电脑显示隐藏文件
  5. 计算机无法打开隐藏文件,隐藏文件打不开怎么办【解决方法】
  6. Python-flask的wtf表单应用
  7. 使用python连接mysql出现中文乱码
  8. 解决“adb.exe已停止工作”的办法
  9. cocoscreator练手 入门 Flappy Bird 像素鸟项目(1)
  10. word2010在左侧显示目录结构