摘要:排序的算法是歸并排序。舉個(gè)例子,的算法可以不是使用歸并排序,但是該算法一定要是穩(wěn)定的。這個(gè)類是的一部分。官方這個(gè)類只包含操作或返回集合的靜態(tài)方法。具體來說是,第一步,先把集合轉(zhuǎn)換為數(shù)組,第二步,調(diào)用。和沒有什么區(qū)別,只是傳參有點(diǎn)不同。
Arrays
1.作用
看類的名字,就知道是對數(shù)組(數(shù)據(jù)類型[])進(jìn)行各種操作。例如,排序、查找、復(fù)制等。
排序的算法是歸并排序。
查找的算法是二分查找。
復(fù)制是調(diào)用System.arraysCopy()。
2.官方API
public class Arrays
extends Object
This class contains various methods for manipulating arrays (such as sorting and searching). This class also contains a static factory that allows arrays to be viewed as lists.
The methods in this class all throw a NullPointerException, if the specified array reference is null, except where noted.
這個(gè)類包含各種操作數(shù)組的方法,例如,排序、查找等。這個(gè)類也包含了一個(gè)靜態(tài)工廠方法,允許數(shù)組被作為集合(list)查看。
如果指定的數(shù)組引用是null,那么方法會(huì)拋出NullPointerException。
The documentation for the methods contained in this class includes briefs description of the implementations. Such descriptions should be regarded as implementation notes, rather than parts of the specification. Implementors should feel free to substitute other algorithms, so long as the specification itself is adhered to. (For example, the algorithm used by sort(Object[]) does not have to be a MergeSort, but it does have to be stable.)
方法的文檔包含了實(shí)現(xiàn)的簡單介紹,但是不屬于規(guī)范的一部分。你可以用別的算法代替Arrays的算法,只要遵守規(guī)范即可。
舉個(gè)例子,sort()的算法可以不是使用歸并排序,但是該算法一定要是穩(wěn)定的。
This class is a member of the Java Collections Framework.
這個(gè)類是Java Collections Framework的一部分。
1.作用
看類的名字,就知道是對集合類(Collection的子類)進(jìn)行操作。例如,排序等。
排序的算法也是合并排序,調(diào)用的是Arrays.sort()。
2.官方API
public class Collections
extends Object
This class consists exclusively of static methods that operate on or return collections. It contains polymorphic algorithms that operate on collections, "wrappers", which return a new collection backed by a specified collection, and a few other odds and ends.
這個(gè)類只包含操作或返回集合的靜態(tài)方法。它包含了多種算法...。
The methods of this class all throw a NullPointerException if the collections or class objects provided to them are null.
如果方法的參數(shù)是null,那么會(huì)拋出NullPointerException 。
The documentation for the polymorphic algorithms contained in this class generally includes a brief description of the implementation. Such descriptions should be regarded as implementation notes, rather than parts of the specification. Implementors should feel free to substitute other algorithms, so long as the specification itself is adhered to. (For example, the algorithm used by sort does not have to be a mergesort, but it does have to be stable.)
同上。
The "destructive" algorithms contained in this class, that is, the algorithms that modify the collection on which they operate, are specified to throw UnsupportedOperationException if the collection does not support the appropriate mutation primitive(s), such as the set method. These algorithms may, but are not required to, throw this exception if an invocation would have no effect on the collection. For example, invoking the sort method on an unmodifiable list that is already sorted may or may not throw UnsupportedOperationException.
This class is a member of the Java Collections Framework.
排序1.Arrays
Arrays.sort()
2.Collections
Collections.sort()。
調(diào)用的也是Arrays.sort()。具體來說是,第一步,先把集合轉(zhuǎn)換為數(shù)組,第二步,調(diào)用Arrays.sort()。
1.Arrays
Arrays.copyOf()。
調(diào)用的是System.arrayCopy()。
Arrays.copyOf()和System.arrayCopy()沒有什么區(qū)別,只是傳參有點(diǎn)不同。
查找文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/70680.html
摘要:并發(fā)設(shè)計(jì)模式一模式的使用表示線程本地存儲(chǔ)模式。為不同的任務(wù)創(chuàng)建不同的線程池,這樣能夠有效的避免死鎖問題。兩階段終止,即將線程的結(jié)束分為了兩個(gè)階段,第一個(gè)階段是一個(gè)線程向另一個(gè)線程發(fā)送終止指令,第二個(gè)階段是線程響應(yīng)終止指令。 Java 并發(fā)設(shè)計(jì)模式 一、Thread Local Storage 模式 1. ThreadLocal 的使用 Thread Local Storage 表示線程...
摘要:百度網(wǎng)盤提取碼一面試題熟練掌握是很關(guān)鍵的,大公司不僅僅要求你會(huì)使用幾個(gè),更多的是要你熟悉源碼實(shí)現(xiàn)原理,甚至要你知道有哪些不足,怎么改進(jìn),還有一些有關(guān)的一些算法,設(shè)計(jì)模式等等。 ??百度網(wǎng)盤??提取碼:u6C4?一、java面試題熟練掌握java是很關(guān)鍵的,大公司不僅僅要求你會(huì)使用幾個(gè)api,更多的是要你熟悉源碼實(shí)現(xiàn)原理,甚...
摘要:是開發(fā)中經(jīng)常會(huì)使用的集合,你們知道有哪些方式可以初始化一個(gè)嗎這其中不缺乏一些坑,今天棧長我給大家一一普及一下。好了,今天棧長就給大家介紹到這里了,這種,你知道幾種另外,也有類似的初始化的方法,大家有興趣的可以試一下。 List 是 Java 開發(fā)中經(jīng)常會(huì)使用的集合,你們知道有哪些方式可以初始化一個(gè) List 嗎?這其中不缺乏一些坑,今天棧長我給大家一一普及一下。 1、常規(guī)方式 List...
摘要:原文出自本文總結(jié)了程序員常犯的個(gè)錯(cuò)誤。可以看看為什么在中被設(shè)計(jì)成不可變父類和子類的構(gòu)造函數(shù)以上這段代碼出現(xiàn)編譯錯(cuò)誤,因?yàn)槟J(rèn)的父類構(gòu)造函數(shù)未定義。如果程序員定義構(gòu)造函數(shù),編譯器將不插入默認(rèn)的無參數(shù)構(gòu)造函數(shù)。 原文出自:http://www.programcreek.com/2014/05/top-10-mistakes-java-developers-make/ 本文總結(jié)了J...
摘要:近段時(shí)間在準(zhǔn)備實(shí)習(xí)的面試,在網(wǎng)上看到一份面試題,就慢慢試著做,爭取每天積累一點(diǎn)點(diǎn)。現(xiàn)在每天給自己在面試題編寫的任務(wù)是題,有時(shí)候忙起來可能就沒有時(shí)間寫了,但是爭取日更,即使當(dāng)天沒更也會(huì)在之后的更新補(bǔ)上。 ????近段時(shí)間在準(zhǔn)備實(shí)習(xí)的面試,在網(wǎng)上看到一份面試題,就慢慢試著做,爭取每天積累一點(diǎn)點(diǎn)。????暫時(shí)手頭上的面試題只有一份,題量還是挺大的,有208題,所以可能講的不是很詳細(xì),只是我自...
閱讀 3283·2021-09-30 09:47
閱讀 2296·2021-09-10 10:51
閱讀 1900·2021-09-08 09:36
閱讀 2934·2019-08-30 12:56
閱讀 3036·2019-08-30 11:16
閱讀 2628·2019-08-29 16:40
閱讀 3000·2019-08-29 15:25
閱讀 1638·2019-08-29 11:02