Java Stack Queue Arrays

Stack

常用方法

E push(E item)            把项压入堆栈顶部。   

E pop()            移除堆栈顶部的对象,并作为此函数的值返回该对象。   

E peek()            查看堆栈顶部的对象,但不从堆栈中移除它。   

boolean empty()            测试堆栈是否为空。    

int search(Object o)            返回对象在堆栈中的位置,以 1 为基数。  

队列Queue(来自于Linkedlist)


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

LinkedList实现了Deque接口;

(顶级接口)Collection-->Queue-->Deque-->LinkedList(实现类)

 add        增加一个元索                     如果队列已满,则抛出一个IIIegaISlabEepeplian异常

  offer      【推荐】 添加一个元素并返回true       如果队列已满,则返回false

  remove   移除并返回队列头部的元素    如果队列为空,则抛出一个NoSuchElementException异常

  poll       【推荐】  移除并返问队列头部的元素    如果队列为空,则返回null

  element  返回队列头部的元素             如果队列为空,则抛出一个NoSuchElementException异常

  peek       返回队列头部的元素             如果队列为空,则返回null

  put         添加一个元素                      如果队列满,则阻塞

  take        移除并返回队列头部的元素     如果队列为空,则阻塞

在java5中新增加了java.util.Queue接口,用以支持队列的常见操作。该接口扩展了java.util.Collection接口。

Queue使用时要尽量避免Collection的add()和remove()方法,而是要使用offer()来加入元素,使用poll()来获取并移出元素。它们的优点是通过返回值可以判断成功与否,add()和remove()方法在失败的时候会抛出异常。 如果要使用前端而不移出该元素,使用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动态数组

ArrayList 中常用的方法

add(E e):                     在数组末尾添加元素

size():                           数组中实际元素个数,并不是数组容量

add(int index, E e):    在数组指定位置添加元素

clear():                           将数组中元素清空

contains(E e):             判断数组中是否含有某个元素

get(int index):             返回数组指定位置的元素

indexOf(E e):              返回数组指定元素第一次出现的位置

set(int index, E e):     替换数组指定位置的值

remove(int index):     移除数组指定位置的元素

remove(E e):              移除数组中第一次出现的指定元素

addAll(Collection c):                     在数组末尾添加另一个数组 

addAll(int index, collection c):     在数组指定位置添加另一个数组

removeAll(Collectionc):                                   将数组中属于数组 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 (及其相应的 value)。

7int size( )

返回此 dictionary 中条目(不同键)的数量。

char

char转换为int

char ch = (char)(n + '0');//因为是ascii运算

不过需要注意(因为char只有一个字节),此处的n只能是0-9之间的字符

int转换为char

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

 此处ch也是‘0’至‘9’的数字字符


String


String 方法

下面是 String 类支持的方法,更多详细,参看 Java String API 文档:

SN(序号)方法描述

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

返回指定索引处的 char 值。

2int compareTo(Object o)

把这个字符串和另一个对象比较。

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

按字典顺序比较两个字符串。

4int compareToIgnoreCase(String str)

按字典顺序比较两个字符串,不考虑大小写。

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

将指定字符串连接到此字符串的结尾。

6boolean contentEquals(StringBuffer sb)

当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。

7static String copyValueOf(char[] data)

返回指定数组中表示该字符序列的 String。

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

返回指定数组中表示该字符序列的 String。

9boolean endsWith(String suffix)

测试此字符串是否以指定的后缀结束。

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

将此字符串与指定的对象比较。

11boolean equalsIgnoreCase(String anotherString)

将此 String 与另一个 String 比较,不考虑大小写。

12byte[] getBytes()

使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

13byte[] getBytes(String charsetName)

使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。

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

将字符从此字符串复制到目标字符数组。

15int hashCode()

返回此字符串的哈希码。

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

返回指定字符在此字符串中第一次出现处的索引。

17int indexOf(int ch, int fromIndex)

返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。

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

返回指定子字符串在此字符串中第一次出现处的索引。

19int indexOf(String str, int fromIndex)

返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

20String intern()

返回字符串对象的规范化表示形式。

21int lastIndexOf(int ch)

返回指定字符在此字符串中最后一次出现处的索引。

22int lastIndexOf(int ch, int fromIndex)

返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。

23int lastIndexOf(String str)

返回指定子字符串在此字符串中最右边出现处的索引。

24int lastIndexOf(String str, int fromIndex)

返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。

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

返回此字符串的长度。

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

告知此字符串是否匹配给定的正则表达式。

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

测试两个字符串区域是否相等。

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

测试两个字符串区域是否相等。

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

返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。

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

使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。

31String replaceFirst(String regex, String replacement)

使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。

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

根据给定正则表达式的匹配拆分此字符串。

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

根据匹配给定的正则表达式来拆分此字符串。

34boolean startsWith(String prefix)

测试此字符串是否以指定的前缀开始。

35boolean startsWith(String prefix, int toffset)

测试此字符串从指定索引开始的子字符串是否以指定前缀开始。

36CharSequence subSequence(int beginIndex, int endIndex)

返回一个新的字符序列,它是此序列的一个子序列。

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

返回一个新的字符串,它是此字符串的一个子字符串。

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

返回一个新字符串,它是此字符串的一个子字符串。【不包括结束索引】

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

将此字符串转换为一个新的字符数组。

40String toLowerCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为小写。

41String toLowerCase(Locale locale)

使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。

42String toString()

返回此对象本身(它已经是一个字符串!)。

43String toUpperCase()

使用默认语言环境的规则将此 String 中的所有字符都转换为大写。

44String toUpperCase(Locale locale)

使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。

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

返回字符串的副本,忽略前导空白和尾部空白。

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

返回给定data type类型x参数的字符串表示形式。

Map

Map m1 = new HashMap();

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

1void clear( )从此映射中移除所有映射关系(可选操作)。

2boolean containsKey(Object k)如果此映射包含指定键的映射关系,则返回 true。

3boolean containsValue(Object v)如果此映射将一个或多个键映射到指定值,则返回 true。

4Set entrySet( )返回此映射中包含的映射关系的 Set 视图。

5boolean equals(Object obj)比较指定的对象与此映射是否相等。

6Object get(Object k)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null。

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

8boolean isEmpty( )如果此映射未包含键-值映射关系,则返回 true。

9Set keySet( )返回此映射中包含的键的 Set 视图。

10Object put(Object k, Object v)将指定的值与此映射中的指定键关联(可选操作)。

11void putAll(Map m)从指定映射中将所有映射关系复制到此映射中(可选操作)。

12Object remove(Object k)如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。

13int size( )返回此映射中的键-值映射关系数。

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

HashMap


HashSet

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

HashSet是基于HashMap来实现的,操作很简单,更像是对HashMap做了一次“封装”,而且只使用了HashMap的key来实现各种特性,我们先来感性的认识一下这个结构:

boolean  add(Ee)

void    clear()

Object    clone()

boolean  contains(Objecto)

boolean   isEmpty()

Iterator<E>   iterator()

boolean  remove(Objecto)

int   size()

Spliterator<E>   spliterator()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,362评论 0 4
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,148评论 1 44
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,565评论 18 399
  • 文/颖儿 导语:有一种爱,它是无言的,是严肃的,在当时往往无法细诉,然而,它让你在过后的日子里越体会越有味道,一生...
    颖者新也阅读 618评论 2 1
  • 浙江杭州有一个美丽的地标———杭州西湖。 西湖,位于浙江省杭州市西面,是中国大陆首批国家重点风景名胜区和中国十大风...
    llllllHllllll阅读 231评论 0 0