Rumah > Java > javaTutorial > Java Iterator and Iterable: Meneroka Seni Java Collection Traversal

Java Iterator and Iterable: Meneroka Seni Java Collection Traversal

PHPz
Lepaskan: 2024-02-19 23:10:18
ke hadapan
1242 orang telah melayarinya

Java Iterator 和 Iterable:探索 Java 集合遍历的艺术

Java Iterator and Iterable: Terokai seni traversal koleksi di Jawa. Dalam pengaturcaraan Java, Iterator dan Iterable ialah antara muka penting untuk merentasi elemen koleksi. Mereka menyediakan cara yang fleksibel dan cekap untuk mengakses dan memanipulasi elemen dalam koleksi. Artikel ini akan menyelidiki prinsip dan penggunaan antara muka Iterator dan Iterable untuk membantu pembaca memahami dengan lebih baik butiran teknikal traversal koleksi Java. Editor PHP Banana akan mendedahkan misteri "seni" ini untuk semua orang, membolehkan anda menguasai intipati traversal koleksi dengan mudah.

1. Antara muka Iterator

Antara muka Iterator mentakrifkan kaedah untuk melintasi elemen koleksi, termasuk hasNext() dan next(). Kaedah hasNext() digunakan untuk menyemak sama ada terdapat lebih banyak elemen dalam koleksi, dan kaedah next() digunakan untuk mendapatkan elemen seterusnya.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

import java.util.Iterator;

 

public class IteratorDemo {

 

public static void main(String[] args) {

// 创建一个 ArrayList 集合

ArrayList<String> list = new ArrayList<>();

 

// 添加一些元素到集合中

list.add("Java");

list.add("python");

list.add("c++");

list.add("C#");

 

// 获取集合的 Iterator 对象

Iterator<String> iterator = list.iterator();

 

// 遍历集合元素

while (iterator.hasNext()) {

String element = iterator.next();

System.out.println(element);

}

}

}

Salin selepas log masuk

Keluaran:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

import java.util.Iterable;

 

public class IterableDemo implements Iterable<String> {

 

private String[] elements = {"Java", "Python", "C++", "C#"};

 

@Override

public Iterator<String> iterator() {

return new Iterator<String>() {

 

private int index = 0;

 

@Override

public boolean hasNext() {

return index < elements.length;

}

 

@Override

public String next() {

return elements[index++];

}

};

}

 

public static void main(String[] args) {

// 创建一个 IterableDemo 对象

IterableDemo iterableDemo = new IterableDemo();

 

// 遍历集合元素

for (String element : iterableDemo) {

System.out.println(element);

}

}

}

Salin selepas log masuk

Keluaran:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

import java.util.ArrayList;

import java.util.Iterator;

 

public class IteratorIterableDemo {

 

public static void main(String[] args) {

// 创建一个 ArrayList 集合

ArrayList<String> list = new ArrayList<>();

 

// 添加一些元素到集合中

list.add("Java");

list.add("Python");

list.add("C++");

list.add("C#");

 

// 使用 Iterator 遍历集合元素

Iterator<String> iterator = list.iterator();

while (iterator.hasNext()) {

String element = iterator.next();

System.out.println(element);

}

 

// 使用 for-each 循环遍历集合元素

for (String element : list) {

System.out.println(element);

}

}

}

Salin selepas log masuk

Keluaran:

1

2

3

4

5

6

7

8

Java

Python

C++

C#

Java

Python

C++

C#

Salin selepas log masuk

4. Kesimpulan

Iterator dan Iterable ialah dua antara muka yang penting dalam rangka kerja koleksi Java untuk merentasi elemen koleksi, manakala Iterable mewakili koleksi yang boleh dilalui dengan berkesan.

Atas ialah kandungan terperinci Java Iterator and Iterable: Meneroka Seni Java Collection Traversal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan