栈/Stack

先进后出的线性数据结构

Stack<Character> stack = new Stack<>();

char是数据类型,character是数据对象。

1,常用方法

(1)boolean empty( )方法是判断堆栈是否为空。

(2)Object peek( )方法是返回栈顶端的元素,但不从堆栈中移除它。

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

(4)Object push (Object element)方法是把元素压入栈。

(5)int search(Object element)方法是返回对象在堆栈中的位置,它是以1为基数。

(6)int size() 返回长度。

队列/Queue

先进后出(在表的前端进行删除,表的后端进行插入)

LinkedList实现了Queue接口,所以我们经常用LinkedList搞队列。

Queue<String> queue = new LinkedList<String>();

1,常见方法

(1)offer(Object obj) 添加元素。 队列满时放回false。

(2)add(Object obj) 添加元素。 队列满时异常。

(2)Object poll() 移除第一个元素并输出。 队列空时返回null。

(3)Object remove() 移除第一个元素并输出。 队列空时抛出异常。

(4)Object peek() 返回第一个元素 队列空时返回null。

(5)Object element() 返回第一个元素 队列空时返回异常。

(6)int size() 返回长度。

StringBuffer

java关于String的加强类,加入CUD等功能。

1,创建对象

和String不一样,需要new一个对象。

StringBuffer str = new StringBuffer();
StringBuffer str = new StringBuffer("xxx");

2,String和StringBuffer直接的转换

两者直接非继承关系,所以不能之间强转。

要转换只能通过

String s1 = "233";
StringBuffer s2 = new StringBuffer(s);   //String -> StringBuffer

s1 = s2.toString();                      //StringBuffer -> String

3,常用方法

  • public StringBuffer append(Object b)

该方法是在SB对象后面增加字符串。

StringBuffer sb = new StringBuffer(“abc”);

sb.append(true);

sb的值为abctrue。

  • public StringBuffer deleteCharAt(int index)

该方法是删除某个位置的字符

从0开始。

  • public StringBuffer delete(int start,int end)

该方法是删除某个区间的字符。

从0开始。

  • public StringBuffer insert(int offset, Object b)

该方法是在某个位置插入b。

  • public StringBuffer reverse()

该方法是反转SB对象。就是字符串反转

  • public void setCharAt(int index, char ch)

该方法是修改某位置的字符。

  • toString()

在这里是将SB转成String。

String

1,常用方法

(1)length 查看长度/常量。

(2)char charAt(n) 查看下标为n的字符

(2)getchars(int,int,Str,int) 截取多个字符并由其他字符串接收

(3)byte[] getBytes() 将字符串变成一个byte数组

(4)char[] toCharArray() 将字符串变成字符数组

(5)concat(str) 连接两个字符串

(6)replace(str,str) 字符替换

2,有趣操作

  • 可以直接和char直接相加。
String a = "";

Hashset

2,实现方法

Set<?> set = new HashSet<?>();

1,常用方法

(1)add(Object obj) 加入元素。

(2)size() 返回set集合中元素个数。

(2)remove(Object obj) 删除元素。

(3)isEmpty() 为空true。

(4)clear() 删除set中所有元素。

(5)contains(Object obj) set中如果有包含obj返回true,否则false。

双端队列Deque

可以队头删元素,也可以队尾删元素。

Deque deque = new LinkedList();

1,常用方法

contains(Object obj) 检查obj是否在集合里。