Java Iterator Iterator 介面提供了一種迭代集合的方法,即順序訪問集合中的每個元素。它支持 hasNext() 和 next() 方法,用於檢查是否存在下一個元素以及獲取下一個元素。 獲取 Iterator 可以使用集合的 iterator() 方法獲取 Iterator 實例: ...
Java Iterator
Iterator
介面提供了一種迭代集合的方法,即順序訪問集合中的每個元素。它支持 hasNext()
和 next()
方法,用於檢查是否存在下一個元素以及獲取下一個元素。
獲取 Iterator
可以使用集合的 iterator()
方法獲取 Iterator
實例:
// 導入 ArrayList 類和 Iterator 類
import java.util.ArrayList;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
// 創建一個 ArrayList
ArrayList<String> cars = new ArrayList<>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
// 獲取 Iterator
Iterator<String> it = cars.iterator();
}
}
遍歷集合
可以使用 hasNext()
和 next()
方法遍歷集合:
while (it.hasNext()) {
String car = it.next();
System.out.println(car);
}
刪除元素
可以使用 Iterator
的 remove()
方法從集合中刪除元素:
while (it.hasNext()) {
String car = it.next();
if (car.equals("Volvo")) {
it.remove();
}
}
註意: 在使用 Iterator
刪除元素時,不要使用集合的 for
迴圈或 for-each
迴圈,因為這會導致集合大小發生變化,並可能導致 Iterator
出現異常。
Iterator
是 Java 中用於遍歷集合的強大工具。它提供了靈活的迭代方式,並支持元素的刪除。
Iterator 的優勢:
- 靈活的迭代方式
- 支持元素的刪除
- 可用於各種集合
Iterator 的劣勢:
- 使用時需要註意集合大小變化
- 可能比
for
迴圈或for-each
迴圈效率低
建議:
- 當需要靈活的迭代方式或需要刪除元素時,使用
Iterator
。 - 當只需要遍歷集合併讀取元素時,可以使用
for
迴圈或for-each
迴圈。
Java 包裝類
Java 包裝類為原始數據類型(如 int
、boolean
等)提供了對象表示形式。這使得將原始數據類型與需要對象的 API 一起使用成為可能。
原始類型與包裝類
下表列出了 Java 中的原始類型及其對應的包裝類:
原始類型 | 包裝類 |
---|---|
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
boolean |
Boolean |
char |
Character |
使用包裝類
創建包裝對象
可以使用包裝類的構造函數創建包裝對象,並將原始值作為參數傳遞:
Integer myInt = new Integer(5);
Double myDouble = new Double(5.99);
Character myChar = new Character('A');
獲取值
可以使用包裝類的 xxxValue()
方法獲取其對應的原始值:
int intValue = myInt.intValue();
double doubleValue = myDouble.doubleValue();
char charValue = myChar.charValue();
其他方法
包裝類還提供了其他一些方法,例如:
toString()
: 將包裝對象轉換為字元串equals()
: 比較兩個包裝對象是否相等hashCode()
: 返回包裝對象的哈希碼
自動裝箱和拆箱
從 Java 5 開始,自動裝箱和拆箱允許將原始類型隱式轉換為包裝類,反之亦然。
例如:
// 自動裝箱
int x = 10;
Integer y = x; // 隱式將 int 轉換為 Integer
// 拆箱
Integer z = 20;
int w = z; // 隱式將 Integer 轉換為 int
Java 包裝類提供了將原始數據類型用作對象的方法。它們在許多場景下都很有用,例如:
- 將原始數據類型與需要對象的 API 一起使用
- 將原始數據類型存儲在集合中
- 使用包裝類提供的額外方法
建議:
- 在需要將原始數據類型用作對象時使用包裝類。
- 瞭解自動裝箱和拆箱機制,以便更好地使用包裝類。
註意:
- 雖然自動裝箱和拆箱很方便,但它們可能會導致一些性能問題。
- 在某些情況下,例如需要精確控制記憶體使用時,最好避免使用自動裝箱和拆箱。
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關註