【資料】Arraylist中根據指定元素屬性排序
【本文來自網際網路】
一個Arraylist<point>,裡面包含point類的多個物件,而每一個Point 裡由(x,y,z) 的double 值構成。 如何才能讓Arraylist按照指定的double 值的大小重新排列。
例子程式如下:
- package cjz.test;
- import java.util.*;
- public class test {
- public static void main(String[] args) {
- List<Point> points=new ArrayList<Point>();
- Point point1=new Point();
- point1.setX(1324);
- point1.setY(345);
- point1.setZ(436);
- points.add(point1);
- Point point2=new Point();
- point2.setX(23);
- point2.setY(8941.656);
- point2.setZ(431412);
- points.add(point2);
- Point point3=new Point();
- point3.setX(786584);
- point3.setY(23452);
- point3.setZ(43563);
- points.add(point3);
- //根據X排序
- Collections.sort(points,new SortByX());
- for(Point p:points) {
- System.out.print(p.getX()+"/t"+p.getY()+"/t"+p.getZ());
- System.out.println();
- }
- //根據Y排序
- // Collections.sort(points,new SortByY());
- //
- // for(Point p:points){
- // System.out.print(p.getX()+"/t"+p.getY()+"/t"+p.getZ());
- // System.out.println();
- // }
- //根據Z排序
- // Collections.sort(points,new SortByZ());
- //
- // for(Point p:points){
- // System.out.print(p.getX()+"/t"+p.getY()+"/t"+p.getZ());
- // System.out.println();
- // }
- }
- }
- class Point {
- private double x;
- private double y;
- private double z;
- public double getX() {
- return x;
- }
- public void setX(double x) {
- this.x = x;
- }
- public double getY() {
- return y;
- }
- public void setY(double y) {
- this.y = y;
- }
- public double getZ() {
- return z;
- }
- public void setZ(double z) {
- this.z = z;
- }
- public Point(){
- }
- }
- //根據X排序
- class SortByX implements Comparator {
- public int compare(Object obj1,Object obj2){
- Point point1=(Point)obj1;
- Point point2=(Point)obj2;
- if(point1.getX()>point2.getX())
- return 1;
- else
- return 0;
- }
- }
- //根據Y排序
- class SortByY implements Comparator {
- public int compare(Object obj1,Object obj2){
- Point point1=(Point)obj1;
- Point point2=(Point)obj2;
- if(point1.getY()>point2.getY())
- return 1;
- else
- return 0;
- }
- }
- //根據Z排序
- class SortByZ implements Comparator {
- public int compare(Object obj1,Object obj2){
- Point point1=(Point)obj1;
- Point point2=(Point)obj2;
- if(point1.getZ()>point2.getZ())
- return 1;
- else
- return 0;
- }
- }
相關文章
- jQuery根據多個屬性匹配元素jQuery
- swift4.0 物件資料來源根據屬性分組,時間排序Swift物件排序
- js根據input標籤的type屬性篩選元素JS
- Stream流根據屬性去重
- php 陣列根據元素從小到大排序PHP陣列排序
- 陣列物件根據物件中指定的屬性去重?你知道多少陣列物件
- JAVA裡List集合中的物件根據物件的某個屬性值降序或者升序排序Java物件排序
- jdk8 stream 根據屬性去重JDK
- css匹配具有指定屬性值的元素CSS
- Map根據Value排序排序
- 根據陣列中物件進行排序陣列物件排序
- SpringBoot中根據屬性動態註冊Spring BeanSpring BootBean
- javascript如何判斷指定型別元素是否具有指定屬性JavaScript型別
- javascript如何判斷元素是否具有指定屬性JavaScript
- css實現匹配具有指定屬性的元素CSS
- js根據時間排序JS排序
- List根據時間排序排序
- Java ArrayList 查詢、刪除指定元素;排序;遍歷;隨機獲取元素等常用操作Java排序隨機
- 根據包名,在指定空間中建立物件物件
- vxe-table 校驗,根據行屬性校驗
- list集合按元素的某一屬性排序排序
- VS中根據實體生成資料庫資料庫
- jQuery 隱藏具有指定class屬性值的元素jQuery
- jQuery如何判斷元素是否具有指定的屬性jQuery
- jquery隱藏具有指定class屬性值的元素jQuery
- javascript如何獲取具有指定class屬性的元素物件JavaScript物件
- 根據字典中值得大小,對字典中的項排序排序
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- 根據name屬性值篩選checkbox核取方塊
- jquery 根據id去找 json中list的資料jQueryJSON
- SpringJpa @query 中根據傳入引數(欄位)排序Spring排序
- script元素屬性
- 根據陣列的值刪除元素陣列
- js根據class值獲取元素物件JS物件
- Mac下根據nvm下載node指定版本Mac
- JavaScript 根據物件鍵值進行排序JavaScript物件排序
- 城市列表-根據拼音首字母排序排序
- 2.5.4 為 SYSAUX 表空間指定資料檔案屬性UX