java對象數組排序,java對一個數組排序

本文目錄一覽:

java 數組順序排列

首先,API裡面寫了: Sorts the specified array of ints into ascending numerical order.

就是這是個升序!

其次,你這個運行應該不會報錯,輸出的會是 數組地址,因為數組在java裡面是一個對象,如果要看排序的結果,需要遍歷下:

比如

for(int i:arr){

System.out.println(i);

}

java對象數組排序中如何讓性別為女的排在前面

可以使用if判斷的方法來將性別為女的排在前面,Java是一門面向對象的編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。

java 如何對對象進行排序

糾正幾點錯誤:

首先TreeSet就是一個二叉樹排序容器,由用戶定義對象比較規則,然後介面回調進行排序,也就是說當對象在add到容器後實際上已經按照你定義的排序規則排序完畢了,所以你也沒有必要再單獨寫一個排序方法。

如果你想單獨寫一個排序演算法,傳送TreeSet()這樣已經排序完畢的容器當然是多此一舉的。 你可以用List保存你的對象,這樣容器保存的就是原始的對象集合(按add()的先後順序排序),這樣才能真正發揮排序方法的功能.

其次,你的冒泡排序演算法是按照價格從小到大的,而你add對象的時候就是從小到大的,所以一直沒有滿足if(iArr[j].price iArr[j+1].price) { 這個條件,可以把號改成號,或者打亂add的順序,這樣就能看出效果。

另外從容器內取元素應該用循環,而不應該寫死。你應該知道,所以程序我也沒修改~

下面的程序在原作上面稍微修改了一下,自己可以比較一下區別

package cn.com.csuinfo.Mycollec;

import java.util.ArrayList;

import java.util.List;

public class TestMySort {

public void BubbleSort(ListCar list) {

Car c1;

Car c2;

Car c3;

Car c4;

c1 = list.get(0);// 將set中的元素一個個取出來,再存入Car數組中

c2 = list.get(1);

c3 = list.get(2);

c4 = list.get(3);

Car[] iArr = { c1, c2, c3, c4 }; // 數組中存放了Car類型的四個對象

Car tmp = null;

int len = list.size();

for (int i = 0; i len – 1; i++) {// 對數組中的對象按屬性值price的大小進行排序

for (int j = 0; j len – 1 – i; j++) {

if (iArr[j].price iArr[j + 1].price) {

tmp = iArr[j];

iArr[j] = iArr[j + 1];

iArr[j + 1] = tmp;

System.out.println(“change”);// 測試之注意!:程序沒執行到此來???

}

}

}

for (Car car : iArr) {

System.out.println(car);

}

}

public static void main(String[] args) {

ListCar list = new ArrayListCar();

Car car1 = new Car(“Ford”, 164000);

Car car2 = new Car(“Honda”, 286000);

Car car3 = new Car(“Toyota”, 410000);

Car car4 = new Car(“Benz”, 850000);

list.add(car1);

list.add(car2);

list.add(car3);

list.add(car4);

System.out.println(“***********************「”);

new TestMySort().BubbleSort(list);

}

}

在java編程中如何對數組進行排序,並輸出排序後的數組及原數組下標值

java變成對數組進行排序可以使用ArraySort方法,保存源數組下標值可以存入map中,如下代碼:

import java.util.ArrayList;

import java.util.Arrays;

import java.util.HashMap;

import java.util.List;

public class ceshi {

public static void main(String[] args) {

int n = 5;

int[] a = { 8, 5, 4, 6, 2, 1, 7, 9, 3 };

HashMap map = new HashMap();

for (int i = 0; i  a.length; i++) {

map.put(a[i], i); // 將值和下標存入Map

}

// 排列

List list = new ArrayList();

Arrays.sort(a); // 升序排列

for (int i = 0; i  a.length; i++) {

list.add(a[i]);

}

for (Object object : list) {

System.out.print(object + “,”);

}

System.out.println();

// 查找原始下標

for (int i = 0; i  n; i++) {

System.out.print(map.get(a[i]) + “,”);

}

}

}

運行結果如下:

JAVA 數組中的元素是對象,如何給對象排序

寫那麼麻煩幹什麼呢,看我的!

Book[] books = { new Book(“j2me”,12), new Book(“j2se”,5), new Book(“j2ee”,22) };

Arrays.sort (books, new ComparatorBook ()

{

    @Override

    public int compare ( Book o1, Book o2 )

    {

        if (o1.getPrice()   o2.getPrice() )

        {

            return 1;

        }

        else if (o1.getPrice()   o2.getPrice() )

        {

            return -1;

        }

        else

        {

            return 0;

        }

    }

});

原創文章,作者:EAIR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139099.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
EAIR的頭像EAIR
上一篇 2024-10-04 00:22
下一篇 2024-10-04 00:22

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29

發表回復

登錄後才能評論