常见集合的循环输出方式

专题总结:常见集合的循环输出方式


Java 2009-12-27 17:14:42 阅读172 评论0   字号:大中小 订阅
一、List集合的循环输出


List<Object> objList = new ArrayList<Object>();
 1) for (int i=0; i<objList.size; i++)
    {
 // 循环输出集合中的每个对象
 Object object = objList.get(i);
 System.out.println(object);
    }


 2) for (Object obj:objList)
    {
 // 循环输出集合中的每个对象
 System.out.println(object);
    }


 3) 将List集合转换为迭代器Iterator接口,并且循环输出
   List<String> list = new ArrayList<String>();
 list.add("cheng");
 list.add("zeng");
 list.add("zhang");
 Iterator it = list.iterator();
 while (it.hasNext())
 {
  String str = (String)it.next();
  System.out.println(str);
 }


 4) 将List集合转换为Object类型的数组,循环输出
 List<String> list = new ArrayList<String>();
 list.add("cheng");
 list.add("zeng");
 list.add("zhang");
 Object[] obj = list.toArray();
 for (int i=0; i<obj.length; i++)
 {
  String s = (String)obj[i];
  System.out.println(s);
 }


二.循环输出Set<E> 
 1) 将Set集合转换为迭代器Iterator接口,并且循环输出
 Set<String> set = new HashSet<String>();
 set.add("cheng");
 set.add("zeng");
 set.add("zhang");
 Iterator it = set.iterator();
 while (it.hasNext())
 {
  String str = (String)it.next();
  System.out.println(str);
 }
 2) 将Set集合转换为Object类型的数组
 Set<String> set = new HashSet<String>();
 set.add("cheng");
 set.add("zeng");
 set.add("zhang");
 Object[] obj = set.toArray();
 for (int i=0;i<obj.length;i++)
 {
  String s = (String)obj[i];
  System.out.println(s);
 }


三.循环输出Map<K,V>
 1) 直接循环Map对象
 Map<String,String> map = new HashMap<String, String>();
 map.put("1","cheng");
 map.put("2","zeng");
 map.put("3","zhang");
 // 输出键值
 for (String key:map.keySet())
 {
  System.out.println(key);
 }
 // 输出value
 for (String value:map.values())
 {
  System.out.println(value);
 }


 2)  Map<String,String> map = new HashMap<String, String>();
 map.put("1","cheng");
 map.put("2","zeng");
 map.put("3","zhang");
 Iterator it = map.entrySet().iterator();
 while (it.hasNext())
 {
  Map.Entry<String, String> s = (Map.Entry<String, String>)it.next();
  System.out.println(s);
 }
 输出结果:
 3=zhang
 2=zeng
 1=cheng
Java 中,循环输出 `Map` 集合有多种常见方法,以下是详细介绍: #### 1. 通过 `entrySet()` 获取键值对实现对象 ```java import java.util.HashMap; import java.util.Map; import java.util.Set; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); Set<Map.Entry<String, Integer>> ma = map.entrySet(); for (Map.Entry<String, Integer> en : ma) { System.out.println(en.getValue() + "---" + en.getKey()); } } } ``` 此方法通过 `entrySet()` 获取 `Map` 中所有键值对的 `Set` 集合,然后遍历该集合,获取每个键值对的键和值并输出[^1]。 #### 2. 使用 `keySet()` 遍历键,再通过键获取值 ```java import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); for (String key : map.keySet()) { Integer value = map.get(key); System.out.println(key + "---" + value); } } } ``` 该方法先通过 `keySet()` 获取 `Map` 中所有键的 `Set` 集合,然后遍历键集合,使用键从 `Map` 中获取对应的值并输出。 #### 3. 使用 `values()` 只遍历值 ```java import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); for (Integer value : map.values()) { System.out.println(value); } } } ``` 如果只需要遍历 `Map` 中的值,可使用 `values()` 方法获取所有值的集合,然后遍历该集合输出值。 #### 4. 使用 Java 8 的 `forEach` 方法 ```java import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); map.forEach((key, value) -> System.out.println(key + "---" + value)); } } ``` Java 8 引入的 `forEach` 方法结合 Lambda 表达可以更简洁地遍历 `Map`,直接对每个键值对进行操作。 #### 5. 使用迭代器遍历 `entrySet()` ```java import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class Main { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 1); map.put("banana", 2); map.put("cherry", 3); Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); Iterator<Map.Entry<String, Integer>> iterator = entrySet.iterator(); while (iterator.hasNext()) { Map.Entry<String, Integer> entry = iterator.next(); System.out.println(entry.getKey() + "---" + entry.getValue()); } } } ``` 这种方法使用迭代器遍历 `entrySet()` 返回的 `Set` 集合,逐一遍历并输出键值对。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值