第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

數(shù)組不會自動對可比較的對象進(jìn)行排序

數(shù)組不會自動對可比較的對象進(jìn)行排序

湖上湖 2022-07-20 20:46:43
我有一個(gè)帶有 3 個(gè)雙精度值的類框。任務(wù)是對其中一個(gè)值進(jìn)行排序并打印結(jié)果。下面有一段代碼 public class Box implements Comparable<Box> {        private double x;        private double y;        private double z;        private double volume;@Override    public int compareTo(Box o) {        return this.x > o.x ? 1 : this.x < o.x ? -1 : 0;    }    public static void  sorting (Box[] o)    {        System.out.println();        for (int i = 0; i<o.length; i++)        {            System.out.println(o[i].x);        }    }這段代碼沒有錯(cuò)誤,但也沒有對 x 參數(shù)進(jìn)行排序。
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊

Java 中的數(shù)組不會自動排序(一般的集合也不會)。對于您需要調(diào)用的數(shù)組

Arrays.sort(boxes);

如果使用集合,您可以使用

Collections.sort(boxList);

或者使用SortedSet / Map代替(例如TreeSet)。這些類型的集合將在插入時(shí)自動對其元素進(jìn)行排序并保持自然順序。

正如@AndyTurner 所指出的, Sets and Maps 當(dāng)然會丟棄重復(fù)項(xiàng)(取決于您對hashCodeand的實(shí)現(xiàn)equals),這可能是您不想要的。

This question and it's very good answer也相關(guān),并提供了對Java中排序集合的一個(gè)很好的概述。


查看完整回答
反對 回復(fù) 2022-07-20
?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊

僅實(shí)現(xiàn)Comparable意味著該類為其實(shí)例提供了一些默認(rèn)順序。并不意味著每個(gè)數(shù)組或集合都必須自動應(yīng)用該 order。

例如,String類還實(shí)現(xiàn)Comparable了提供字典順序的功能,但您仍然可以決定您的字符串應(yīng)該放在數(shù)組中的哪個(gè)位置。這是可能的,因?yàn)楫?dāng)你這樣做時(shí)

array[index] = element;

決定element將放置在哪里取決于index,而不是任何特性element

要使用其元素的默認(rèn)順序?qū)?shù)組進(jìn)行排序,您可以使用Arrays.sort(o);,否則您的數(shù)組o將在索引指定的位置保存元素。


查看完整回答
反對 回復(fù) 2022-07-20
?
炎炎設(shè)計(jì)

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊

你實(shí)際上有幾個(gè)不同的選擇。其中一些正在創(chuàng)建您自己的排序功能,如前所述,或者使用帶有適當(dāng)比較器的集合排序。您可能需要查看此 SO 主題以獲取有關(guān)該主題的更多詳細(xì)信息。另外,請記住在發(fā)布之前使用搜索,這是在鍵入“java sort by object field”或類似內(nèi)容后彈出的第一件事。



查看完整回答
反對 回復(fù) 2022-07-20
  • 3 回答
  • 0 關(guān)注
  • 131 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號