黑马程序员技术交流社区
标题:
集合嵌套+迭代器
[打印本页]
作者:
JustForYou
时间:
2015-7-30 22:11
标题:
集合嵌套+迭代器
import java.util.*;
public class Test {
public static void main(String[] args) {
ArrayList<ArrayList<String>> array = new ArrayList<ArrayList<String>>();
ArrayList<String> a1 = new ArrayList<String>();
ArrayList<String> a2 = new ArrayList<String>();
ArrayList<String> a3 = new ArrayList<String>();
ArrayList<String> a4 = new ArrayList<String>();
a1.add("1");
a1.add("11");
a1.add("111");
a2.add("2");
a2.add("22");
a2.add("222");
a3.add("3");
a3.add("33");
a3.add("333");
a4.add("4");
a4.add("44");
a4.add("444");
array.add(a1);array.add(a2);array.add(a3);array.add(a4);
Iterator<ArrayList<String>> it1=array.iterator();
while(it1.hasNext()){
ArrayList<String> a=it1.next();
Iterator<String> it2=a.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
}
}
}
复制代码
作者:
softzhang
时间:
2015-7-30 22:22
嵌套循环和嵌套遍历
作者:
一枚小小媛
时间:
2015-7-30 22:38
对楼主的知识点做一个补充。
【一】List集合遍历的三种方法
package list;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* 遍历List集合的三种方法
*
* @author 小媛
*
*/
public class ListPrintTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();//LinkedList
list.add("a");
list.add("b");
list.add("c");
list.add("d");
list.add("e");
list.add("f");
list.add("g");
list.add("h");
ListPrint3(list);
}
/**
* 通过for循环,使用下角标然后操作集合对象的get方法拿到集合的元素
* @param list
*/
public static void ListPrint1(List<String> list) {
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i));
}
}
/**
* 使用list内部封装好的迭代器 遍历循环获取集合的元素
* @param list
*/
public static void ListPrint2(List<String> list) {
for (Iterator<String> i = list.iterator(); i.hasNext();) {
String element = i.next();
System.out.print(element);
}
}
/**
* java1.5新特性 增强for循环
* @param list
*/
public static void ListPrint3(List<String> list) {
for(String element : list){
System.out.print(element);
}
}
}
复制代码
作者:
一枚小小媛
时间:
2015-7-30 22:40
【二】Set集合的两种遍历
package list;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
/**
* @author 小媛
* Set集合遍历
*/
public class SetPrintTest {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
set.add("a");
set.add("bb");
set.add("ccc");
set.add("dddd");
set.add("eeeee");
set.add("ffff");
set.add("ggg");
set.add("hh");
set.add("i");
SetPrint1(set);
}
/**
* 使用迭代器
* @param set
*/
public static void SetPrint1(Set<String> set){
for(Iterator<String> i = set.iterator(); i.hasNext(); ){
String element = i.next();
System.out.println(element);
}
}
/**
* 增强for
* @param set
*/
public static void SetPrint2(Set<String> set){
for(String element : set){
System.out.println(element);
}
}
}
复制代码
作者:
一枚小小媛
时间:
2015-7-30 22:42
【三】Map的遍历
package list;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
/**
* @author 小媛
* Map的遍历
*/
public class MapPrint {
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "QQ");
map.put(2, "VV");
map.put(3, "AA");
map.put(6, "PP");
map.put(7, "HH");
map.put(8, "KK");
MapPrint2(map);
}
/**
* 通过Entry集合 增强for遍历获取 键-值
* @param map
*/
public static void MapPrint1(Map<Integer, String> map) {
for (Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry);
}
}
/**
* 通过获取Key集合,增强for遍历获取 键-值
* @param map
*/
public static void MapPrint2(Map<Integer, String> map) {
for (Integer key : map.keySet()) {
System.out.println(key + " = " + map.get(key));
}
}
/**
* 直接获取Value集合,增强for遍历获取 值
* @param map
*/
public static void MapPrint3(Map<Integer, String> map) {
for(String value : map.values()){
System.out.println(value);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2