【Java】集合遍历的概念及遍历的几种方式

遍历的概念:

遍历输出就是讲一个数组或者集合通过指针遍历后显示出来。

 

举个例子:数组的输出

for(int i = 0; i < a.length ; i++){
    System.out.print(a[i] + " ");
}

这就是遍历,就是把数组或者集合中的元素一个一个的往外打印输出。

遍历的方式:

常见的for循环遍历:

import java.util.ArrayList;

import org.junit.Test;

public class for循环遍历 {
	@Test
	public void test1() {
		ArrayList s = new ArrayList<>();
		s.add("好好学习");
		s.add("天天向上");
		s.add("快乐学习每一天");
		for (int i = 0; i < s.size(); i++) {
			System.out.println(s.get(i));//get(i)的作用就是一个个遍历
		}
	}
}

输出:

 

for循环增强型遍历:

增强型for是把String字符型的s中的元素依次赋给ss

import java.util.ArrayList;

import org.junit.Test;

public class for循环遍历 {
	@Test
	public void test1() {
		ArrayList s = new ArrayList<>();
		s.add("好好学习");
		s.add("天天向上");
		s.add("快乐学习每一天");
		for (String ss:s) {
			System.out.println(ss);
		}
	}
}

输出:

迭代Interator遍历:

迭代器的使用只能在集合中使用

hasNext()是判断是否有下一个元素 

next() 得到下一个元素 

import java.util.ArrayList;
import java.util.Iterator;

import org.junit.Test;

public class for循环遍历 {
	@Test
	public void test1() {
		ArrayList s = new ArrayList<>();
		s.add("好好学习");
		s.add("天天向上");
		s.add("快乐学习每一天");
		Iterator iter = s.iterator();
		while(iter.hasNext()) {
			System.out.println(iter.next());
		}
	}
}

输出示例:

遍历的类型:

List与Set类型集合的遍历

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class ListMap {

	public static void main(String[] args) {
		// Set集合的遍历
		setTest();
		// List集合的遍历
		listTest();
		
	}

	// 遍历Set集合
	private static void setTest() {
		Set set = new HashSet();
		set.add("仙剑奇侠传");
		set.add("男一胡    歌");
		set.add("女一刘亦菲");
		set.add("男二彭于晏");
		set.add("女二安以轩");

		// for循环增强型遍历set集合
		for (String s : set) {
			System.out.println(s);
		}
		// iterator遍历set集合
		Iterator iter = set.iterator();
		while (iter.hasNext()) {
			System.out.println(iter.next());
		}

	}

	// 遍历list集合
	private static void listTest() {
		List list = new ArrayList();
		list.add("仙剑奇侠传三");
		list.add("胡    歌");
		list.add("杨    幂");
		list.add("霍建华");
		list.add("刘诗诗");
		list.add("唐    嫣");
		//for循环遍历
		for (int i = 0;i < list.size(); i++) {
			System.out.println(list.get(i));
		}
		//for增强型循环进行遍历
		for (String value : list) {
			System.out.println(value);
		}
		//iterator遍历
		Iterator it = list.iterator();
		while (it.hasNext()) {
			System.out.println(it.next());
		}
	}
}

 输出结果:

仙剑奇侠传
男一胡    歌
男二彭于晏
女二安以轩
女一刘亦菲
仙剑奇侠传
男一胡    歌
男二彭于晏
女二安以轩
女一刘亦菲
仙剑奇侠传三
胡    歌
杨    幂
霍建华
刘诗诗
唐    嫣
仙剑奇侠传三
胡    歌
杨    幂
霍建华
刘诗诗
唐    嫣
仙剑奇侠传三
胡    歌
杨    幂
霍建华
刘诗诗
唐    嫣

Map类型集合的遍历

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.junit.Test;

public class Main {
	@Test
	public void test() {
		HashMap map = new HashMap();
		map.put("仙剑奇侠传", "三");
		map.put("景    天", "胡    歌");
		map.put("徐长卿", "霍建华");
		map.put("唐雪见", "杨    幂");
		map.put("紫    萱", "唐    嫣");
		//增强的for循环(entry集合)
		for (Map.Entry entry : map.entrySet()) {
			System.out.println(entry.getKey() +" "+ entry.getValue());
		}
		//增强的for循环(key集合)
		for (String key : map.keySet()) {
			System.out.println( key +" "+ map.get(key));
		}
		// 第三种:Iterator迭代器
		Iterator> iter = map.entrySet().iterator();
		while (iter.hasNext()) {
			Map.Entry entry = iter.next();
			System.out.println(entry.getKey() + " " + entry.getValue());
		}
	}
}

输出:

仙剑奇侠传 三
景    天 胡    歌
唐雪见 杨    幂
徐长卿 霍建华
紫    萱 唐    嫣
仙剑奇侠传 三
景    天 胡    歌
唐雪见 杨    幂
徐长卿 霍建华
紫    萱 唐    嫣
仙剑奇侠传 三
景    天 胡    歌
唐雪见 杨    幂
徐长卿 霍建华
紫    萱 唐    嫣

 

 

 

你可能感兴趣的:(Java札记)