常用數(shù)據(jù)結構

數(shù)組
1、長度
int[] a = new int[4]; int len = a.length;
2、基本數(shù)據(jù)類型(int、double、char等)排序
升序:int[] a={1,4,-1,5,0}; Arrays.sort(a);
降序:可以先進行升序,然后自己實現(xiàn)反轉。
3、打印輸出: Arrays.toString(array)
4、復雜數(shù)據(jù)類型排序
public static<T> void sort(T[] a,Comparator c)
public static<T> void sort(T[] a,int fromIndex,int toIndex,Comparator c)
例子:
class Point{
int x;
int y;
}
//比較器,x坐標從小到大排序;x相同時,按照y從小到大排序
class MyComprator implements Comparator {
public int compare(Object arg0, Object arg1) {
Point t1=(Point)arg0;
Point t2=(Point)arg1;
if(t1.x != t2.x)
return t1.x>t2.x? 1:-1;
else
return t1.y>t2.y? 1:-1;
}
}
Point[] points = new Point[3];
points[0].x = 1; points[0].y = 1;
points[1].x = 2; points[1].y = 6;
points[2].x = 2; points[2].y = 5;
Arrays.sort(points, new MyComprator());

Character
1、判斷字符是否是字母:Character.isLetter(c)
2、判斷字符是否是數(shù)字:Character.isDigit(c)

String
String s = "abc";
1、字符串長度:s.length()。
2、截取字符串
s.substring(int start, int end),左閉右開,不傳end參數(shù),則為start到末尾。
3、獲取某個位置的字符:s.charAt(int index)
4、不同的數(shù)據(jù)類型轉為string
String.valueOf(boolean/char/char[]/float/double/int/long/object param)
5、獲取某個字符或某個字符串第一次出現(xiàn)的index
s.indexOf(int ch/string str)
6、判斷兩個字符串是否相等:s.equals(string str)
7、全部轉為大寫或小寫:s.toUpperCase()或s.toLowerCase()
8、String類型可以直接和char類型相加獲得一個新String

StringBuffer
1、StringBuffer與String對象的相互轉換
String s = “abc”;
StringBuffer sb1 = new StringBuffer(“123”);
StringBuffer sb2 = new StringBuffer(s); //String轉換為StringBuffer
String s1 = sb1.toString(); //StringBuffer轉換為String
2、添加元素(多種數(shù)據(jù)類型)到末尾
append(char/char[]/boolean/String/int/float/double...)
3、刪除指定位置字符
deleteCharAt(int index)
4、指定位置插入元素,支持多種數(shù)據(jù)類型
insert(int offset, E e)
5、反轉字符串
reverse()
6、設置指定位置的字符
setCharAt(int index, char ch)

ArrayList
ArrayList<Integer> list = new ArrayList<>();
1、排序:Collections.sort(list)
2、反轉:Collections.reverse(list)
3、添加:add(E e) / add(int index, E e) / addAll(Collection<E> c)
4、替換:set(int index, E e)
5、長度:size()
6、獲?。篻et()
7、截?。簊ubList(int start, int end)左閉右開
8、轉成數(shù)組:toArray()
9、判斷是否包含指定元素:contains(E e)
10、獲取指定元素的索引:indexOf(E e),不存在返回-1.

HashSet
1、添加:add(E e)
2、刪除:remove(E e)
3、是否含有指定元素:contains(E e)
4、大小:size()

HashMap
1、添加:put(K key, V value)
2、刪除:remove(K key)
3、大?。簊ize()
4、獲?。篻et(K key)
5、判斷是否包含某key或value是否:
containsKey(K key) / containsValue(V value)
6、獲取key集合:keySet(),常用于遍歷map

Queue(LinkedList)
1、添加元素到隊尾:offer(E e)
2、返回并刪除隊首元素:remove()
3、彈出隊首元素:poll()
4、返回隊首元素但不彈出:peek()

PriorityQueue
1、通用:offer(E e)、peek()、poll()
2、判斷是否含有某元素:contains(E e)
3、刪除:remove(E e)
4、轉為數(shù)組:toArray()

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

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

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,936評論 0 33
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,900評論 18 399
  • 貪心算法 貪心算法總是作出在當前看來最好的選擇。也就是說貪心算法并不從整體最優(yōu)考慮,它所作出的選擇只是在某種意義上...
    fredal閱讀 9,437評論 3 52
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile麗語閱讀 4,121評論 0 6
  • 午夜的車站里 聽 操著一口黃牙的農(nóng)民工 說著自己也能聽得懂的葷段子 看 他們席地而坐 傍著那些個 跟隨著他們走南闖...
    半暖清城閱讀 226評論 0 2

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