A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JustForYou 中级黑马   /  2015-7-30 22:11  /  542 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.*;

  2. public class Test {
  3.         public static void main(String[] args) {
  4.                 ArrayList<ArrayList<String>> array = new ArrayList<ArrayList<String>>();
  5.                 ArrayList<String> a1 = new ArrayList<String>();
  6.                 ArrayList<String> a2 = new ArrayList<String>();
  7.                 ArrayList<String> a3 = new ArrayList<String>();
  8.                 ArrayList<String> a4 = new ArrayList<String>();
  9.                 a1.add("1");
  10.                 a1.add("11");
  11.                 a1.add("111");
  12.                 a2.add("2");
  13.                 a2.add("22");
  14.                 a2.add("222");
  15.                 a3.add("3");
  16.                 a3.add("33");
  17.                 a3.add("333");
  18.                 a4.add("4");
  19.                 a4.add("44");
  20.                 a4.add("444");
  21.                 array.add(a1);array.add(a2);array.add(a3);array.add(a4);
  22.                 Iterator<ArrayList<String>> it1=array.iterator();
  23.                 while(it1.hasNext()){
  24.                         ArrayList<String> a=it1.next();               
  25.                         Iterator<String> it2=a.iterator();
  26.                         while(it2.hasNext()){
  27.                                 System.out.println(it2.next());
  28.                         }
  29.                 }               
  30.         }
  31. }
复制代码

4 个回复

倒序浏览
嵌套循环和嵌套遍历
回复 使用道具 举报
对楼主的知识点做一个补充。
【一】List集合遍历的三种方法

  1. package list;

  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.List;

  5. /**
  6. * 遍历List集合的三种方法
  7. *
  8. * @author 小媛
  9. *
  10. */
  11. public class ListPrintTest {
  12.         public static void main(String[] args) {
  13.                 List<String> list = new ArrayList<String>();//LinkedList
  14.                 list.add("a");
  15.                 list.add("b");
  16.                 list.add("c");
  17.                 list.add("d");
  18.                 list.add("e");
  19.                 list.add("f");
  20.                 list.add("g");
  21.                 list.add("h");

  22.                 ListPrint3(list);

  23.         }

  24.         /**
  25.          * 通过for循环,使用下角标然后操作集合对象的get方法拿到集合的元素
  26.          * @param list
  27.          */
  28.         public static void ListPrint1(List<String> list) {
  29.                 for (int i = 0; i < list.size(); i++) {
  30.                         System.out.print(list.get(i));
  31.                 }
  32.         }

  33.         /**
  34.          * 使用list内部封装好的迭代器 遍历循环获取集合的元素
  35.          * @param list
  36.          */
  37.         public static void ListPrint2(List<String> list) {
  38.                 for (Iterator<String> i = list.iterator(); i.hasNext();) {
  39.                         String element = i.next();
  40.                         System.out.print(element);
  41.                 }
  42.         }

  43.         /**
  44.          * java1.5新特性 增强for循环
  45.          * @param list
  46.          */
  47.         public static void ListPrint3(List<String> list) {
  48.                 for(String element : list){
  49.                         System.out.print(element);
  50.                 }
  51.         }
  52. }
复制代码
回复 使用道具 举报
【二】Set集合的两种遍历
  1. package list;

  2. import java.util.HashSet;
  3. import java.util.Iterator;
  4. import java.util.Set;

  5. /**
  6. * @author 小媛
  7. * Set集合遍历
  8. */
  9. public class SetPrintTest {
  10.         public static void main(String[] args) {
  11.                
  12.                 Set<String> set = new HashSet<String>();
  13.                 set.add("a");
  14.                 set.add("bb");
  15.                 set.add("ccc");
  16.                 set.add("dddd");
  17.                 set.add("eeeee");
  18.                 set.add("ffff");
  19.                 set.add("ggg");
  20.                 set.add("hh");
  21.                 set.add("i");
  22.                
  23.                 SetPrint1(set);
  24.         }
  25.        
  26.         /**
  27.          * 使用迭代器
  28.          * @param set
  29.          */
  30.         public static void SetPrint1(Set<String> set){
  31.                 for(Iterator<String> i = set.iterator(); i.hasNext(); ){
  32.                         String element = i.next();
  33.                         System.out.println(element);
  34.                 }
  35.         }
  36.        
  37.         /**
  38.          * 增强for
  39.          * @param set
  40.          */
  41.         public static void SetPrint2(Set<String> set){
  42.                 for(String element : set){
  43.                         System.out.println(element);
  44.                 }
  45.         }
  46. }
复制代码
回复 使用道具 举报
【三】Map的遍历
  1. package list;

  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import java.util.Map.Entry;

  5. /**
  6. * @author 小媛
  7. * Map的遍历
  8. */
  9. public class MapPrint {
  10.         public static void main(String[] args) {
  11.                 Map<Integer, String> map = new HashMap<Integer, String>();
  12.                 map.put(1, "QQ");
  13.                 map.put(2, "VV");
  14.                 map.put(3, "AA");
  15.                 map.put(6, "PP");
  16.                 map.put(7, "HH");
  17.                 map.put(8, "KK");

  18.                 MapPrint2(map);

  19.         }

  20.         /**
  21.          * 通过Entry集合 增强for遍历获取 键-值
  22.          * @param map
  23.          */
  24.         public static void MapPrint1(Map<Integer, String> map) {
  25.                 for (Entry<Integer, String> entry : map.entrySet()) {
  26.                         System.out.println(entry);
  27.                 }
  28.         }

  29.         /**
  30.          * 通过获取Key集合,增强for遍历获取 键-值
  31.          * @param map
  32.          */
  33.         public static void MapPrint2(Map<Integer, String> map) {
  34.                 for (Integer key : map.keySet()) {
  35.                         System.out.println(key + " = " + map.get(key));
  36.                 }
  37.         }

  38.         /**
  39.          * 直接获取Value集合,增强for遍历获取 值
  40.          * @param map
  41.          */
  42.         public static void MapPrint3(Map<Integer, String> map) {
  43.                 for(String value : map.values()){
  44.                         System.out.println(value);
  45.                 }
  46.         }
  47. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马