Java Stack Queue Arrays

Stack

常用方法

E?push(E?item) ? ? ? ? ? ?把項(xiàng)壓入堆棧頂部。 ??

E?pop() ? ? ? ? ? ?移除堆棧頂部的對象,并作為此函數(shù)的值返回該對象。 ??

E?peek() ? ? ? ? ? ?查看堆棧頂部的對象,但不從堆棧中移除它。 ??

boolean?empty() ? ? ? ? ? ?測試堆棧是否為空。 ? ?

int?search(Object?o) ? ? ? ? ? ?返回對象在堆棧中的位置,以?1?為基數(shù)。 ?

隊(duì)列Queue(來自于Linkedlist)


Deque接口繼承了Queue接口,而Queue接口繼承了Collection接口,

LinkedList實(shí)現(xiàn)了Deque接口;

(頂級接口)Collection-->Queue-->Deque-->LinkedList(實(shí)現(xiàn)類)

 add????????增加一個(gè)元索?????????????????????如果隊(duì)列已滿,則拋出一個(gè)IIIegaISlabEepeplian異常

  offer ? ? ?【推薦】 添加一個(gè)元素并返回true???????如果隊(duì)列已滿,則返回false

  remove???移除并返回隊(duì)列頭部的元素????如果隊(duì)列為空,則拋出一個(gè)NoSuchElementException異常

  poll ? ? ? 【推薦】 ?移除并返問隊(duì)列頭部的元素????如果隊(duì)列為空,則返回null

  element??返回隊(duì)列頭部的元素?????????????如果隊(duì)列為空,則拋出一個(gè)NoSuchElementException異常

  peek???????返回隊(duì)列頭部的元素?????????????如果隊(duì)列為空,則返回null

  put?????????添加一個(gè)元素??????????????????????如果隊(duì)列滿,則阻塞

  take????????移除并返回隊(duì)列頭部的元素?????如果隊(duì)列為空,則阻塞

在java5中新增加了java.util.Queue接口,用以支持隊(duì)列的常見操作。該接口擴(kuò)展了java.util.Collection接口。

Queue使用時(shí)要盡量避免Collection的add()和remove()方法,而是要使用offer()來加入元素,使用poll()來獲取并移出元素。它們的優(yōu)點(diǎn)是通過返回值可以判斷成功與否,add()和remove()方法在失敗的時(shí)候會拋出異常。 如果要使用前端而不移出該元素,使用element()或者peek()方法。

LinkedList

boolean add(E object) ?????????? ??

void add(int location, E object)? ?????

?boolean addAll(Collection collection)? ??boolean addAll(int location, Collection collection)? ??????void addFirst(E object)? ??????void addLast(E object)? ??void clear()? ??????Object clone()? ??????????boolean contains(Object object)? ??????Iterator descendingIterator()? ??????????E element()? ??????E get(int location)????? ??E getFirst()? ??????E getLast()? ??????int indexOf(Object object)????? ??int lastIndexOf(Object object)????? ??ListIterator listIterator(int location)? ??????boolean offer(E o)????? ??boolean offerFirst(E e)? ??????bo? ??olean offerLast(E e)? ??????E peek()? ??????E peekFirst()? ??????E peekLast()? ??????E poll()? ? ? ??E pollFirst()? ? ? ??E pollLast()? ??????E pop()? ??void push(E e)? ??E remove()? ??????????E remove(int location)? ??????????boolean remove(Object object)? ??????????E removeFirst()? ??????????boolean removeFirstOccurrence(Object o)? ??????E removeLast()? ??????????boolean removeLastOccurrence(Object o)? ??????????E set(int location, E object)? ??????????int size()?? ??????T[] toArray(T[] contents)????? ??Object[] toArray()

ArrayList動態(tài)數(shù)組

ArrayList 中常用的方法

add(E e): ? ? ? ? ? ? ? ? ? ? 在數(shù)組末尾添加元素

size(): ? ? ? ? ? ? ? ? ? ? ? ? ? 數(shù)組中實(shí)際元素個(gè)數(shù),并不是數(shù)組容量

add(int index, E e): ? ?在數(shù)組指定位置添加元素

clear():? ? ? ? ? ? ? ? ? ? ? ? ? ?將數(shù)組中元素清空

contains(E e): ? ? ? ? ? ? 判斷數(shù)組中是否含有某個(gè)元素

get(int index): ? ? ? ? ? ? 返回?cái)?shù)組指定位置的元素

indexOf(E e): ? ? ? ? ? ? ?返回?cái)?shù)組指定元素第一次出現(xiàn)的位置

set(int index, E e): ? ? 替換數(shù)組指定位置的值

remove(int index): ? ? 移除數(shù)組指定位置的元素

remove(E e): ? ? ? ? ? ? ?移除數(shù)組中第一次出現(xiàn)的指定元素

addAll(Collection c): ? ? ? ? ? ? ? ? ? ? 在數(shù)組末尾添加另一個(gè)數(shù)組?

addAll(int index, collection c): ? ? 在數(shù)組指定位置添加另一個(gè)數(shù)組

removeAll(Collectionc): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 將數(shù)組中屬于數(shù)組 c 中的元素全部刪除



Dict


1Enumeration elements( )

返回此 dictionary 中值的枚舉。

2Object get(Object key)

返回此 dictionary 中該鍵所映射到的值。

3boolean isEmpty( )

測試此 dictionary 是否不存在從鍵到值的映射。

4Enumeration keys( )

返回此 dictionary 中的鍵的枚舉。

5Object put(Object key, Object value)

將指定?key?映射到此 dictionary 中指定?value。

6Object remove(Object key)

從此 dictionary 中移除?key?(及其相應(yīng)的?value)。

7int size( )

返回此 dictionary 中條目(不同鍵)的數(shù)量。

char

char轉(zhuǎn)換為int

char ch = (char)(n + '0');//因?yàn)槭莂scii運(yùn)算

不過需要注意(因?yàn)閏har只有一個(gè)字節(jié)),此處的n只能是0-9之間的字符

int轉(zhuǎn)換為char

int n = int(ch) - int('0');

?此處ch也是‘0’至‘9’的數(shù)字字符


String


String 方法

下面是 String 類支持的方法,更多詳細(xì),參看?Java String API?文檔:

SN(序號)方法描述

1char charAt(int index)------------------------

返回指定索引處的 char 值。

2int compareTo(Object o)

把這個(gè)字符串和另一個(gè)對象比較。

3int compareTo(String anotherString)--------------------

按字典順序比較兩個(gè)字符串。

4int compareToIgnoreCase(String str)

按字典順序比較兩個(gè)字符串,不考慮大小寫。

5String concat(String str)------------------------

將指定字符串連接到此字符串的結(jié)尾。

6boolean contentEquals(StringBuffer sb)

當(dāng)且僅當(dāng)字符串與指定的StringBuffer有相同順序的字符時(shí)候返回真。

7static String copyValueOf(char[] data)

返回指定數(shù)組中表示該字符序列的 String。

8static String copyValueOf(char[] data, int offset, int count)

返回指定數(shù)組中表示該字符序列的 String。

9boolean endsWith(String suffix)

測試此字符串是否以指定的后綴結(jié)束。

10boolean equals(Object anObject)-------------------

將此字符串與指定的對象比較。

11boolean equalsIgnoreCase(String anotherString)

將此 String 與另一個(gè) String 比較,不考慮大小寫。

12byte[] getBytes()

使用平臺的默認(rèn)字符集將此 String 編碼為 byte 序列,并將結(jié)果存儲到一個(gè)新的 byte 數(shù)組中。

13byte[] getBytes(String charsetName)

使用指定的字符集將此 String 編碼為 byte 序列,并將結(jié)果存儲到一個(gè)新的 byte 數(shù)組中。

14void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

將字符從此字符串復(fù)制到目標(biāo)字符數(shù)組。

15int hashCode()

返回此字符串的哈希碼。

16int indexOf(int ch)------------------------------------

返回指定字符在此字符串中第一次出現(xiàn)處的索引。

17int indexOf(int ch, int fromIndex)

返回在此字符串中第一次出現(xiàn)指定字符處的索引,從指定的索引開始搜索。

18int indexOf(String str)------------------

返回指定子字符串在此字符串中第一次出現(xiàn)處的索引。

19int indexOf(String str, int fromIndex)

返回指定子字符串在此字符串中第一次出現(xiàn)處的索引,從指定的索引開始。

20String intern()

返回字符串對象的規(guī)范化表示形式。

21int lastIndexOf(int ch)

返回指定字符在此字符串中最后一次出現(xiàn)處的索引。

22int lastIndexOf(int ch, int fromIndex)

返回指定字符在此字符串中最后一次出現(xiàn)處的索引,從指定的索引處開始進(jìn)行反向搜索。

23int lastIndexOf(String str)

返回指定子字符串在此字符串中最右邊出現(xiàn)處的索引。

24int lastIndexOf(String str, int fromIndex)

返回指定子字符串在此字符串中最后一次出現(xiàn)處的索引,從指定的索引開始反向搜索。

25int length()-------------------

返回此字符串的長度。

26boolean matches(String regex)------------------

告知此字符串是否匹配給定的正則表達(dá)式。

27boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)

測試兩個(gè)字符串區(qū)域是否相等。

28boolean regionMatches(int toffset, String other, int ooffset, int len)

測試兩個(gè)字符串區(qū)域是否相等。

29String replace(char oldChar, char newChar)---------------------

返回一個(gè)新的字符串,它是通過用 newChar 替換此字符串中出現(xiàn)的所有 oldChar 得到的。

30String replaceAll(String regex, String replacement)-----------------------------

使用給定的 replacement 替換此字符串所有匹配給定的正則表達(dá)式的子字符串。

31String replaceFirst(String regex, String replacement)

使用給定的 replacement 替換此字符串匹配給定的正則表達(dá)式的第一個(gè)子字符串。

32String[] split(String regex)-----------------------------------------

根據(jù)給定正則表達(dá)式的匹配拆分此字符串。

33String[] split(String regex, int limit)----------------------------------------

根據(jù)匹配給定的正則表達(dá)式來拆分此字符串。

34boolean startsWith(String prefix)

測試此字符串是否以指定的前綴開始。

35boolean startsWith(String prefix, int toffset)

測試此字符串從指定索引開始的子字符串是否以指定前綴開始。

36CharSequence subSequence(int beginIndex, int endIndex)

返回一個(gè)新的字符序列,它是此序列的一個(gè)子序列。

37String substring(int beginIndex)-------------------

返回一個(gè)新的字符串,它是此字符串的一個(gè)子字符串。

38String substring(int beginIndex, int endIndex)---------------------

返回一個(gè)新字符串,它是此字符串的一個(gè)子字符串。【不包括結(jié)束索引】

39char[] toCharArray()------------------------

將此字符串轉(zhuǎn)換為一個(gè)新的字符數(shù)組。

40String toLowerCase()

使用默認(rèn)語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為小寫。

41String toLowerCase(Locale locale)

使用給定 Locale 的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為小寫。

42String toString()

返回此對象本身(它已經(jīng)是一個(gè)字符串?。?。

43String toUpperCase()

使用默認(rèn)語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為大寫。

44String toUpperCase(Locale locale)

使用給定 Locale 的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為大寫。

45?String trim()---------------

返回字符串的副本,忽略前導(dǎo)空白和尾部空白。

46static String valueOf(primitive data type x)----------------------------------------------

返回給定data type類型x參數(shù)的字符串表示形式。

Map

Map m1 = new HashMap();

?m1.put("Zara", "8");? ? ? m1.put("Mahnaz", "31");? ? ? m1.put("Ayan", "12");? ? ? m1.put("Daisy", "14");

1void clear( )從此映射中移除所有映射關(guān)系(可選操作)。

2boolean containsKey(Object k)如果此映射包含指定鍵的映射關(guān)系,則返回?true。

3boolean containsValue(Object v)如果此映射將一個(gè)或多個(gè)鍵映射到指定值,則返回?true。

4Set entrySet( )返回此映射中包含的映射關(guān)系的?Set 視圖。

5boolean equals(Object obj)比較指定的對象與此映射是否相等。

6Object get(Object k)返回指定鍵所映射的值;如果此映射不包含該鍵的映射關(guān)系,則返回?null。

7int hashCode( )返回此映射的哈希碼值。

8boolean isEmpty( )如果此映射未包含鍵-值映射關(guān)系,則返回?true。

9Set keySet( )返回此映射中包含的鍵的?Set 視圖。

10Object put(Object k, Object v)將指定的值與此映射中的指定鍵關(guān)聯(lián)(可選操作)。

11void putAll(Map m)從指定映射中將所有映射關(guān)系復(fù)制到此映射中(可選操作)。

12Object remove(Object k)如果存在一個(gè)鍵的映射關(guān)系,則將其從此映射中移除(可選操作)。

13int size( )返回此映射中的鍵-值映射關(guān)系數(shù)。

14Collection values( )返回此映射中包含的值的 Collection 視圖。

HashMap


HashSet

???????????????????????????????????

HashSet是基于HashMap來實(shí)現(xiàn)的,操作很簡單,更像是對HashMap做了一次“封裝”,而且只使用了HashMap的key來實(shí)現(xiàn)各種特性,我們先來感性的認(rèn)識一下這個(gè)結(jié)構(gòu):

boolean ?add(Ee)

void ? ?clear()

Object? ??clone()

boolean ?contains(Objecto)

boolean ??isEmpty()

Iterator<E> ??iterator()

boolean ?remove(Objecto)

int ??size()

Spliterator<E> ??spliterator()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、基礎(chǔ)知識:1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,559評論 0 4
  • 一、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,543評論 1 44
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,639評論 18 399
  • 文/穎兒 導(dǎo)語:有一種愛,它是無言的,是嚴(yán)肅的,在當(dāng)時(shí)往往無法細(xì)訴,然而,它讓你在過后的日子里越體會越有味道,一生...
    穎者新也閱讀 707評論 2 1
  • 浙江杭州有一個(gè)美麗的地標(biāo)———杭州西湖。 西湖,位于浙江省杭州市西面,是中國大陸首批國家重點(diǎn)風(fēng)景名勝區(qū)和中國十大風(fēng)...
    llllllHllllll閱讀 279評論 0 0

友情鏈接更多精彩內(nèi)容