1. 程式人生 > >Java 集合框架:ordered 與 sorted

Java 集合框架:ordered 與 sorted

中文中講集合有序,就是指集合是ordered,ordered是資料結構層面的有序。sorted是基於ordered的,指可根據排序規則(通常基於資料值)對資料進行排序。

  • ordered,其順序是基於資料結構的,與其中所存物件的值沒有關係,比如,ArrayList是基於索引的,LinkedHashSet是基於插入順序的。
  • sorted,其順序是相應類通過實現Comparable或Comparator介面達到的,一般是基於物件屬性值的,比如,String,Integer實現了Comparable介面,分別照字母順序和數字大小這種自然順序排列。
  • not ordered,比如,HashTable,雖然其也有一套基於hashcode的內部邏輯來決定順序,但是這個邏輯對使用者是不可見的,因而是無序的。

集合框架常見具體實現類的ordered與sorted屬性
這裡寫圖片描述

參考:
1.What is the difference between an ordered and a sorted collection?
2.Collections/Generics