`
百合不是茶
  • 浏览: 355925 次
社区版块
存档分类
最新评论

List,Set,Map遍历方式 (收集的资源,值得看一下)

阅读更多
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低
Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet
SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现)
Query接口有一个实现类:LinkList
Map接口有三个实现类:HashMap,HashTable,LinkeHashMap
  HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null
SortedMap有一个实现类:TreeMap
其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对

  

 

 

 

List遍历

   

1) List

  List list = new ArrayList();
  list.add(1);
  list.add(2);
  list.add(4);
  list.add(3);

  Iterator iterator = list.iterator();
  System.out.println("------方法一-------");
  while (iterator.hasNext()) {
   int i = Integer.parseInt(iterator.next().toString());
   System.out.println(i);
  }

  System.out.println("------方法二-------");
  for (Iterator iter = list.iterator(); iter.hasNext();) {
   int i = Integer.parseInt(iter.next().toString());
   System.out.println(i);
  }

  System.out.println("------方法三-------");
  for (Object obj : list) {
   System.out.println(obj);
  }

  System.out.println("------方法四-------");
  for (int i = 0; i < list.size(); i++) {
   int k = list.get(i);
   System.out.println(k);
  }

 

 

Set遍历

  

  Set set = new HashSet();
  set.add("123");
  set.add("abc");

  System.out.println("方法一");
  // 方法一:使用迭代器
  for(Iterator i = set.iterator(); i.hasNext(); ) {
      System.out.println(i.next());
  }
  System.out.println("方法二");

  // 方法二:使用 JDK 5 新增的 foreach 循环,只有数组和实现了 Iterable 接口的类才能这样写。
  // 冒号左边是一个局部变量,表示这个 set 中被迭代出来的元素,右边是一个数组或者是实现了 Iterable
  // 接口的类。
  for(String str : set) {
      System.out.println(str);
  }

 

 

Map遍历(1)

Map tempMap = new HashMap();
  tempMap.put("a", 1);
  tempMap.put("b", 2);
  tempMap.put("c", 3);
  // JDK1.4中
  // 遍历方法一 hashmap entrySet() 遍历
  System.out.println("方法一");
  Iterator it = tempMap.entrySet().iterator();
  while (it.hasNext()) {
   Map.Entry entry = (Map.Entry) it.next();
   Object key = entry.getKey();
   Object value = entry.getValue();
   System.out.println("key=" + key + " value=" + value);
  }
  System.out.println("");
  // JDK1.5中,应用新特性For-Each循环
  // 遍历方法二
  System.out.println("方法二");
  for (Map.Entry entry : tempMap.entrySet()) {
   String key = entry.getKey();
   int value = entry.getValue();
   System.out.println("key=" + key + " value=" + value);
  }
  System.out.println(""); // 遍历方法三 hashmap keySet() 遍历
  System.out.println("方法三");
  for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {
   Object obj = i.next();
   System.out.println(obj);// 循环输出key
  }
  for (Iterator i = tempMap.values().iterator(); i.hasNext();) {
   Object obj = i.next();
   System.out.println(obj);// 循环输出value
  }
  for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {
   Object obj = i.next();
   System.out.println("key=" + obj + " value=" + tempMap.get(obj));// 循环输出key 和 value
  }
  System.out.println(""); // 遍历方法四 treemap keySet()遍历
  System.out.println("方法四");
  for (Object o : tempMap.keySet()) {
   System.out.println("key=" + o + " value=" + tempMap.get(o));
  }

 

 

Map遍历(2)

public static void main(String[] args) { 
  Map<String, String> map = new HashMap<String, String>(); 
  map.put("1", "value1"); 
  map.put("2", "value2"); 
  map.put("3", "value3"); 
  
  //第一种:普遍使用,二次取值 
  System.out.println("通过Map.keySet遍历key和value:"); 
  for (String key : map.keySet()) { 
   System.out.println("key= "+ key + " and value= " + map.get(key)); 
  } 
  
  //第二种 
  System.out.println("通过Map.entrySet使用iterator遍历key和value:"); 
  Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); 
  while (it.hasNext()) { 
   Map.Entry<String, String> entry = it.next(); 
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); 
  } 
  
  //第三种:推荐,尤其是容量大时 
  System.out.println("通过Map.entrySet遍历key和value"); 
  for (Map.Entry<String, String> entry : map.entrySet()) { 
   System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue()); 
  } 

  //第四种 
  System.out.println("通过Map.values()遍历所有的value,但不能遍历key"); 
  for (String v : map.values()) { 
   System.out.println("value= " + v); 
  }

 

 

2
4
分享到:
评论

相关推荐

    java Map 遍历方法

    ### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...

    List,Set和Map遍历读取[归类].pdf

    3. **Map遍历** Map是一个键值对的集合,不直接支持索引访问。有三种遍历Map的方法: - **方法一:通过keySet遍历** ```java Map, String&gt; map = new HashMap, String&gt;(); map.put("key1", "value1"); map....

    Map集合的四种遍历方式 .txt

    ### Map集合的四种遍历方式 #### 概述 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在实际开发中被广泛应用。本文将详细介绍如何通过四种不同的方法来遍历`Map`集合...

    java-遍历map

    通过这个方法,我们可以获取到一个包含所有键的`Set`集合,然后使用迭代器(`Iterator`)或增强型for循环(foreach)来遍历这个`Set`,从而间接地遍历整个`Map`。 #### 示例代码解析: ```java private String ...

    c标签遍历集合嵌套的List集合

    #### 2.1 简单的Map遍历 首先,我们从一个简单的`Map`遍历示例开始: ```java Map, String&gt; map = new HashMap, String&gt;(); map.put(1, "value"); model.addAttribute("map", map); ``` 在JSP页面中,使用`c:...

    Java集合Set、List、Map的遍历方法

    Java集合框架提供了多种接口和类,如Set、List和Map,它们各自有不同的特性和用途。本文将详细介绍如何遍历这些集合类型的实例。 首先,我们来看Set集合。Set接口代表不包含重复元素的集合,它的遍历方法主要有两种...

    集合概述set、List、Map

    ### 集合概述:set、List、Map #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,集合框架是一个非常重要的概念,它提供了一种灵活的方式来存储、操作和管理不同类型的对象集合。集合框架的主要目标是...

    Set-List-Map.rar_DEMO_list set map

    在Java编程语言中,集合框架是处理对象组的重要工具,主要包括`List`、`Set`和`Map`接口。这些接口及其实现类提供了丰富的功能,适用于各种数据存储和操作需求。`Set-List-Map.rar_DEMO_list set map`这个压缩包文件...

    JAVA_MAP_+_LIST_SET和MAP的区别+_Map的三种遍历方法

    ### JAVA Map、List、Set 的区别 #### 一、概述 在 Java 集合框架中,`Map`、`List` 和 `Set` 是三种非常重要的数据结构,它们各自有着不同的特性和用途。 - **Map**:主要用于存储键值对(key-value pairs)。键...

    Java_Collection_List-Set-Map.zip_list set map

    在Java编程语言中,集合框架是处理对象组的重要工具,主要包括List、Set和Map三大接口。这些接口由Java Collection Framework提供,它是一个统一的架构,用于存储和操作各种类型的对象。接下来,我们将深入探讨这三...

    List,set,Map 的用法和区别

    Java 集合框架中 List、Set、Map 的用法和区别 Java 集合框架(Java Collections Framework)是 Java 语言中的一个重要组件,提供了一些基本的数据结构和算法来操作和存储数据。其中,List、Set、Map 是三个非常...

    java集合遍历的几种方式总结及详细比较

    Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历方式的实现原理和优缺点。 一、迭代器遍历 迭代器遍历是Java中最基本的集合遍历方式。迭代器是一个对象,它允许...

    jquery获得单选框和下拉框的值,java日期处理,遍历list,遍历map

    接下来的部分是关于如何遍历Java中的`List`和`Map`的示例。 1. **遍历 List:** ```java for (int i = 0; i (); i++) { System.out.println("list--&gt; " + dayList.get(i)); } ``` - **解析**:这里使用传统...

    Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)

    本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`&lt;s:iterator&gt;`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...

    set.list.map接口

    在Java编程语言中,集合框架是处理对象的重要工具,其中包括Set、List和Map三大接口。这些接口提供了多种数据结构和操作方法,使得开发者能够高效地组织和管理数据。 1. **Set接口**: Set接口表示一个不包含重复...

    List Set Map以及子类的比较 .docx

    Collection 集合框架的顶级接口是 Collection,下面有三个主要的子接口:List、Set 和 Map。 List 集合是一种有序集合,可以存储重复元素,每个元素都有索引。ArrayList 和 LinkedList 是 List 集合的两个常用的...

    java中list、set和map 的区别

    ### Java中List、Set和Map的区别 在Java编程语言中,`List`、`Set`和`Map`是集合框架中的三个核心接口,它们分别代表了不同类型的集合数据结构,各自有着独特的特性和应用场景。 #### List `List`接口是最常用的...

    List、Set、Map的特点及遍历方法

    在Java编程语言中,集合框架是非常重要的一部分,其中包括List、Set和Map三个主要接口,它们各自具有独特的特性和用途。接下来我们将深入探讨这三个接口的特点以及它们的遍历方法。 首先,List接口代表有序的集合,...

    Collection,List,Set和_Map用法和区别

    Collection, List, Set 和 Map 用法和区别 Collection 是 Java 中的一种对象集合,提供了许多有用的方法来操作集合元素,例如添加、删除、遍历等。Collection 是一个接口,下面有两个子接口:List 和 Set。 List ...

    遍历Map集合.pdf

    最后,文档中还提到了将List集合存入Map中,然后再通过遍历Map来输出List中的内容。这说明Map集合可以非常灵活地存储不同类型的数据结构,并且可以通过遍历来访问这些数据。 总结来说,遍历Map集合是在Java编程中...

Global site tag (gtag.js) - Google Analytics