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
相關推薦
Java 集合框架:ordered 與 sorted
中文中講集合有序,就是指集合是ordered,ordered是資料結構層面的有序。sorted是基於ordered的,指可根據排序規則(通常基於資料值)對資料進行排序。 ordered,其順序是基於資料結構的,與其中所存物件的值沒有關係,比如,ArrayList是基於索引的,
Java集合框架:Collections工具類
com ota article public 都是 fun 說明 i++ binary java.util.Collections工具類提供非常多實用的方法。使得程序員操作集合類的時候更加的方便easy,這些方法都是靜態的。整個Collections工具
Java基礎知識(JAVA集合框架之List與Set)
開發 如果 表數 特點 必須 加鎖 以及 stringbu 不可 List和Set概述數組必須存放同一種元素。StringBuffer必須轉換成字符串才能使用,如果想拿出單獨的一個元素幾乎不可能。數據有很多使用對象存,對象有很多,使用集合存。 集合容器因為內部
Java集合框架:總結
Java集合框架這個系列做了一個整理,主要包括: Map系:HashMap, LinkedHashMap, TreeMap, WeakHashMap, EnumMap; List系:ArrayList, LinkedList, Vector, Stack; Set系:HashSet, L
Java 集合框架 原始碼淺析 與理解
最近在研究java原始碼,就是看一看別人寫好的東西,也不算是研究。知根知底的對以後的學習會有很大的幫助,我先去了解一下java集合框架,從總體上對這個組織和操作資料的資料結構有個淺顯得的瞭解。 從網上看了很多資料,發現這一張圖總結的還算不錯就引用過來了。但是最
Java集合框架:ArrayList擴容機制解釋
1、java中ArrayList該類的定義public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneab
Java集合框架(六)--ArrayList與LinkedList
-ArrayList是一個數組佇列,相當於動態陣列。與java中的陣列相比,它的容量能動態增長。它繼承於AbstractList,實現了List,RandomAccess,Cloneable,Serializable介面。 -ArrayList是執行緒不安全
【Java集合框架】Map與Set的有序與無序
Set本身不保證順序/* * HashSet是無序的; LinkedHashSet是按插入順序的; TreeSet是按升序的; * * HashMap是無序的;LinkedHashMap是按插
Java集合框架:Set(HashSet,LinkedHashSet,TreeSet)
Set概述 Set幾乎都是內部用一個Map來實現, 因為Map裡的KeySet就是一個Set,而value是假值,全部使用同一個Object。Set的特徵也繼承了那些內部Map實現的特徵。 HashSet 1. 定義 package java.util; p
Java集合框架:WeakHashMap
WeakHashMap定義 package java.util; import java.lang.ref.WeakReference; import java.lang.ref.ReferenceQueue; public class WeakHashMap
java集合框架:List基本應用:增刪改查
package collection; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; publi
Java學習筆記——淺談數據結構與Java集合框架(第一篇、List)
技術分享 emp 鏈表 adc 下標 -c nod nal integer 橫看成嶺側成峰,遠近高低各不同。不識廬山真面目,只緣身在此山中。 ——蘇軾 這一塊兒學的是雲裏霧裏,咱們先從簡單的入手。逐漸的撥開迷霧見太陽。本次先做List集合的三
Java集合框架中底層文件的List與Set
Java集合框架中的List與Set // 簡書作者:達叔小生 Collection -> Set 無序不重複 -> 無序HashSet,需要排序TreeSet -> List 有序可重複 -> 查,改ArrayList,增刪LinkedList
Java集合篇:fail-fast機制 與 fail-safe
在JDK的Collection中我們時常會看到類似於這樣的話: 例如,ArrayList: 注意,迭代器的快速失敗行為無法得到保證,因為一般來說,不可能對是否出現不同步併發修改做出任何硬性保證。快速失敗迭代器會盡最大努力丟擲 ConcurrentModificationExcepti
Java集合框架19:集合總結
Collection集合 1、List(存取有序,有索引,可以重複) (1)ArrayList集合 底層是陣列實現的,執行緒不安全,查詢和修改快,增和刪比較慢。 (2)LinkedList集合 底層是連結串列實現的,執行緒不安全,增和刪比較快,查詢和修改比較慢。 (3)Vector集
Java集合框架18:Collections工具類
Collections中常見方法 1、public static void sort(List list)。 2、 public static int binarySearch(List<?> list,T key)。 3、 public static void
Java集合框架17:鍵盤錄入學生資訊按照總分排序後輸出到控制檯
案例演示 package grade; importjava.util.Comparator; import java.util.Scanner; import java.util.TreeSet; public class Test7 { /**
Java集合框架16:泛型上下界的理解
案例演示 package project; import java.util.ArrayList; importjava.util.Comparator; import java.util.TreeSet; public class Demo_Genric { /**
Java集合框架15:Map集合
Map介紹 1、將值對映到值的物件。 2、一個對映不能包含重複的鍵。 3、每個鍵最多隻能對映到一個值。 Map介面和Collection介面的不同 1、Map是雙列的,Collection是單列的。 2、Map的鍵唯一,Collection的子體系Set
【java集合框架】SDUT 3360 學生資訊的新增與查詢
Problem Description 設計一個學生新增和查詢的系統,從鍵盤讀入學生的資料,然後再從螢幕顯示出來。 Input 第一行有2個整數N和M,其中:N——學生數量,M——學生屬性數量; 第二行有M個字串,表示學生的屬性名稱,其中第1個屬性id表示關鍵字;其中各欄位屬性的資料型別