欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中ArrayList的兩種排序方法實例

 更新時間:2021年07月07日 14:51:46   作者:光羽住一  
ArrayList是一個數(shù)組隊列,相當(dāng)于 動態(tài)數(shù)組,與Java中的數(shù)組相比,它的容量能動態(tài)增長,這篇文章主要給大家介紹了關(guān)于java中ArrayList的兩種排序方法,需要的朋友可以參考下

前言

由于其功能性和靈活性,ArrayList是 Java 集合框架中使用最為普遍的集合類之一。ArrayList 是一種 List 實現(xiàn),它的內(nèi)部用一個動態(tài)數(shù)組來存儲元素,因此 ArrayList 能夠在添加和移除元素的時候進行動態(tài)的擴展和縮減。你可能已經(jīng)使用過 ArrayList,因此我將略過基礎(chǔ)部分。如果你對 ArrayList 還不熟悉,你可以參考它的 API 文檔,可以很容易理解在 ArrayList 上執(zhí)行基本的操作。

1.ArrayList使用排序的初衷

我們知道ArrayList的好處是可以不用限定容器的大小,他會根據(jù)元素的增加自己擴大。但是存儲進去的數(shù)據(jù)類型都會變成object,雖然每個元素有自己的index,但不像數(shù)組的下標可以更加方便的操作。那我們平時學(xué)習(xí)的選擇排序啊快速排序啊都是對數(shù)組進行操作。最開始的笨辦法就是把list中的數(shù)據(jù)傳給數(shù)組排序好了再傳回來嘍。但是這樣效率真的下降的不是幾倍,是幾十倍啊真的不能這樣來。查了點資料和案例在這里總結(jié)一下。

2.對一個ArrayList中的數(shù)組進行排序。

首先來看下Collection的幫助文檔:

在這里順便補充下ArrayList和Collection的關(guān)系:

具體的使用代碼如下:

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("請輸入需要的個數(shù)");
		n=scan.nextInt();
		System.out.println("請逐一輸入");
		for(int i=0;i<n;i++) {
			al.add(i,scan.nextInt());
		}
		System.out.println("你輸入的數(shù)字是:");
		for(int i=0;i<al.size();i++) {
			int temp=(int)al.get(i);
			System.out.print(temp+" ");
		}
		Collections.sort(al);//針對一個ArrayList內(nèi)部的數(shù)據(jù)排序
		System.out.println();
		System.out.println("經(jīng)過排序后:");
		for(int i=0;i<al.size();i++) {
			int temp=(int)al.get(i);
			System.out.print(temp+" ");
		}
	}
}

運行結(jié)果:

3.多個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;
         }
        }

總結(jié)

到此這篇關(guān)于java中ArrayList兩種排序的文章就介紹到這了,更多相關(guān)java ArrayList排序方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring容器添加組件方式實現(xiàn)

    Spring容器添加組件方式實現(xiàn)

    這篇文章主要介紹了Spring容器添加組件方式實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 深入分析JAVA 多線程--interrupt()和線程終止方式

    深入分析JAVA 多線程--interrupt()和線程終止方式

    這篇文章主要介紹了JAVA 多線程--interrupt()和線程終止方式的的相關(guān)資料,文中代碼非常細致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 關(guān)于Idea使用git時commit特別慢的問題及解決方法

    關(guān)于Idea使用git時commit特別慢的問題及解決方法

    這篇文章主要介紹了關(guān)于Idea使用git時commit特別慢的問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 一個JAVA小項目--Web應(yīng)用自動生成Word

    一個JAVA小項目--Web應(yīng)用自動生成Word

    前段時間接到一個Web應(yīng)用自動生成Word的需求,現(xiàn)整理了下一些關(guān)鍵步驟拿來分享一下。
    2014-05-05
  • 如何使用Java中的Optional

    如何使用Java中的Optional

    這篇文章主要介紹了如何使用Java中的Optional,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11
  • Spring Boot實現(xiàn)動態(tài)更新任務(wù)的方法

    Spring Boot實現(xiàn)動態(tài)更新任務(wù)的方法

    這篇文章主要介紹了Spring Boot實現(xiàn)動態(tài)更新任務(wù)的方法,文中給出了詳細的示例代碼供大家參考學(xué)習(xí),對大家學(xué)習(xí)使用Spring Boot動態(tài)更新任務(wù)具有一定的參考價值,需要的朋友們來一起看看吧。
    2017-04-04
  • mybatis判斷l(xiāng)ist不為空/大小的問題

    mybatis判斷l(xiāng)ist不為空/大小的問題

    這篇文章主要介紹了mybatis判斷l(xiāng)ist不為空/大小的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • SpringBoot自帶模板引擎Thymeleaf使用示例詳解

    SpringBoot自帶模板引擎Thymeleaf使用示例詳解

    Thymeleaf是一款用于渲染XML/HTML5內(nèi)容的模板引擎,類似JSP,它可以輕易的與SpringMVC等Web框架進行集成作為Web應(yīng)用的模板引擎,本文給大家介紹SpringBoot自帶模板引擎Thymeleaf使用示例,感興趣的朋友一起看看吧
    2023-12-12
  • JAVA獲取文件絕對路徑的方法

    JAVA獲取文件絕對路徑的方法

    這篇文章主要介紹了JAVA獲取文件絕對路徑的方法,涉及針對文件路徑的操作技巧,需要的朋友可以參考下
    2015-02-02
  • Eclipse下基于Java的OpenCV開發(fā)環(huán)境配置教程

    Eclipse下基于Java的OpenCV開發(fā)環(huán)境配置教程

    這篇文章主要為大家詳細介紹了Eclipse下基于Java的OpenCV開發(fā)環(huán)境配置教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07

最新評論