首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 核心類與數據結構常用方法速查手冊:Object、Collection、Map、String 全景彙總

     編輯:Java 相關知識

一、Object 類:所有類的根父類

方法簽名核心用途重寫建議
cloneprotected Object clone()淺拷貝創建副本實現 Cloneable,深拷貝需手動
equalsboolean equals(Object obj)邏輯相等性判斷必須滿足自反/對稱/傳遞/一致/非空
finalizeprotected void finalize()GC 前清理(已棄用)不推薦使用,用 try-with-resources/Cleaner
getClassClass<?> getClass()獲取運行時類對象final,不可重寫
hashCodeint hashCode()哈希碼,配合 HashMap/Setequals 相等必 hashCode 相等
notifyvoid notify()喚醒單個等待線程需在 synchronized 內調用
notifyAllvoid notifyAll()喚醒所有等待線程需在 synchronized 內調用
toStringString toString()對象字符串表示強烈建議重寫,格式:ClassName[field=val,...]
waitvoid wait()/wait(long)/wait(long,int)釋放鎖並等待需在 synchronized 內調用

二、Iterator / ListIterator 遍歷器

介面核心方法特性
IteratorhasNext(), next(), remove()單向、通用、fail-fast
ListIteratorhasNext/next/nextIndex, hasPrevious/previous/previousIndex, set/add雙向、List 專用、可修改

三、Collection 接口通用操作


// 增
boolean add(E e)
boolean addAll(Collection c)

// 刪
void clear()
boolean remove(Object o)
boolean removeAll(Collection c)
boolean retainAll(Collection c)  // 保留交集

// 查
boolean contains(Object o)
boolean containsAll(Collection c)
boolean isEmpty()
int size()
Iterator iterator()
Object[] toArray()
<T> T[] toArray(T[] a)

// 判等
boolean equals(Object o)  // 集合內容相等
int hashCode()

四、Map 接口核心操作

分類方法說明
查詢V get(Object key)獲取值,無則 null
V getOrDefault(Object key, V defaultValue)JDK 8+,無則返回默認值
boolean containsKey(Object key)是否包含鍵
boolean containsValue(Object value)是否包含值(O(n))
修改V put(K key, V value)放入/覆蓋,返回舊值
void putAll(Map m)批量放入
V remove(Object key)刪除鍵值對
V putIfAbsent(K key, V value)JDK 8+,無則放入
V computeIfAbsent(K key, Function)JDK 8+,無則計算放入
V merge(K key, V value, BiFunction)JDK 8+,合併邏輯
視圖Set<K> keySet()鍵集合視圖
Collection<V> values()值集合視圖
Set<Entry<K,V>> entrySet()鍵值對視圖(最高效遍歷)
void clear()清空
int size()鍵值對數量
boolean isEmpty()是否為空

五、String 類:final、不可變、字符序列

查找與判斷


int length()
char charAt(int index)
int indexOf(String/char)           // 首次出現
int lastIndexOf(String/char)       // 最後出現
boolean startsWith(String prefix)
boolean endsWith(String suffix)
boolean contains(CharSequence s)   // JDK 8+
boolean equals(Object o)           // 區分大小寫
boolean equalsIgnoreCase(String o)
int compareTo(String o)            // 字典序比較
int compareToIgnoreCase(String o)

提取與分割


String substring(int begin)              // 到結尾
String substring(int begin, int end)     // [begin, end)
String[] split(String regex)             // 正則分割
String[] split(String regex, int limit)  // 限制分割數

大小寫與修剪


String toUpperCase() / toLowerCase()
String trim()                    // 去首尾空白
String strip() / stripLeading() / stripTrailing()  // JDK 11+, Unicode 感知

替換與連接


String replace(char old, char new)           // 字符替換
String replace(CharSequence t, CharSequence r)  // 序列替換
String replaceAll(String regex, String repl)    // 正則替換
String replaceFirst(String regex, String repl)  // 首次正則替換
static String join(CharSequence delim, CharSequence... elements)  // JDK 8+
static String join(CharSequence delim, Iterable)                  // JDK 8+

轉換與編碼


byte[] getBytes() / getBytes(Charset charset)
byte[] getBytes(String charsetName)
char[] toCharArray()
static String valueOf(基本類型/Object)  // null 安全
static String copyValueOf(char[] data)

格式化與解析


static String format(String fmt, Object... args)  // printf 風格
// 示例:String.format("用戶: %s, 年齡: %d", name, age)

六、Arrays / Collections 工具類精選

類高頻方法
Arrayssort, binarySearch, copyOf, copyOfRange, fill, equals, deepEquals, toString, deepToString, asList, stream, parallelSort, setAll
Collectionssort, reverse, shuffle, swap, fill, copy, min, max, frequency, disjoint, rotate, binarySearch, indexOfSubList, lastIndexOfSubList, synchronizedList/Map/Set, unmodifiableList/Map/Set, emptyList/Map/Set, singletonList/Map

七、常見陷阱提醒

  1. String s = "a" + "b"; 編譯期優化為 "ab";String s = a + b; 運行期 StringBuilder
  2. substring JDK 7+ 不再共享底層 char[],避免內存洩漏
  3. Map.get(key) 返回 null 可能是「無鍵」或「值為 null」,用 containsKey 或 getOrDefault 區分
  4. Collections.unmodifiableList 返回視圖,原列表修改仍影響視圖,非真正不可變
  5. Arrays.asList 返回固定長度列表,不支持 add/remove,底層數組修改影響列表

這份速查手冊涵蓋 Java 核心類庫 90%+ 高頻 API。建議:常用刻記、生僻查閱、原理深究。配合 IDE 智能提示、源碼閱讀(Ctrl+Click)、Javadoc 官方文檔,構建肌肉記憶與深度理解雙重保障。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved