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); }
相关推荐
### Java Map遍历方法详解 在Java编程语言中,`Map`接口是集合框架中的一个核心组成部分,它存储键值对映射。本篇文章将详细介绍几种常用的遍历`Map`的方法,包括使用传统迭代器(Iterator)、增强型for循环(For-...
3. **Map遍历** Map是一个键值对的集合,不直接支持索引访问。有三种遍历Map的方法: - **方法一:通过keySet遍历** ```java Map, String> map = new HashMap, String>(); map.put("key1", "value1"); map....
### Map集合的四种遍历方式 #### 概述 在Java编程中,`Map`是一种常用的集合类型,用于存储键值对数据。由于其高效的数据查找特性,在实际开发中被广泛应用。本文将详细介绍如何通过四种不同的方法来遍历`Map`集合...
通过这个方法,我们可以获取到一个包含所有键的`Set`集合,然后使用迭代器(`Iterator`)或增强型for循环(foreach)来遍历这个`Set`,从而间接地遍历整个`Map`。 #### 示例代码解析: ```java private String ...
#### 2.1 简单的Map遍历 首先,我们从一个简单的`Map`遍历示例开始: ```java Map, String> map = new HashMap, String>(); map.put(1, "value"); model.addAttribute("map", map); ``` 在JSP页面中,使用`c:...
Java集合框架提供了多种接口和类,如Set、List和Map,它们各自有不同的特性和用途。本文将详细介绍如何遍历这些集合类型的实例。 首先,我们来看Set集合。Set接口代表不包含重复元素的集合,它的遍历方法主要有两种...
### 集合概述:set、List、Map #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,集合框架是一个非常重要的概念,它提供了一种灵活的方式来存储、操作和管理不同类型的对象集合。集合框架的主要目标是...
在Java编程语言中,集合框架是处理对象组的重要工具,主要包括`List`、`Set`和`Map`接口。这些接口及其实现类提供了丰富的功能,适用于各种数据存储和操作需求。`Set-List-Map.rar_DEMO_list set map`这个压缩包文件...
### JAVA Map、List、Set 的区别 #### 一、概述 在 Java 集合框架中,`Map`、`List` 和 `Set` 是三种非常重要的数据结构,它们各自有着不同的特性和用途。 - **Map**:主要用于存储键值对(key-value pairs)。键...
在Java编程语言中,集合框架是处理对象组的重要工具,主要包括List、Set和Map三大接口。这些接口由Java Collection Framework提供,它是一个统一的架构,用于存储和操作各种类型的对象。接下来,我们将深入探讨这三...
Java 集合框架中 List、Set、Map 的用法和区别 Java 集合框架(Java Collections Framework)是 Java 语言中的一个重要组件,提供了一些基本的数据结构和算法来操作和存储数据。其中,List、Set、Map 是三个非常...
Java中提供了多种集合遍历方式,包括迭代器遍历、Map遍历、List遍历等。下面我们将逐一介绍这些遍历方式的实现原理和优缺点。 一、迭代器遍历 迭代器遍历是Java中最基本的集合遍历方式。迭代器是一个对象,它允许...
接下来的部分是关于如何遍历Java中的`List`和`Map`的示例。 1. **遍历 List:** ```java for (int i = 0; i (); i++) { System.out.println("list--> " + dayList.get(i)); } ``` - **解析**:这里使用传统...
本文将深入探讨如何在JSP中将`List`, `Set`, `Map`等集合类型的数据传递到Action,然后再通过`<s:iterator>`标签进行遍历显示。这种方式对于数据的展示和交互具有重要的实践意义。 首先,我们需要了解Struts2的工作...
在Java编程语言中,集合框架是处理对象的重要工具,其中包括Set、List和Map三大接口。这些接口提供了多种数据结构和操作方法,使得开发者能够高效地组织和管理数据。 1. **Set接口**: Set接口表示一个不包含重复...
Collection 集合框架的顶级接口是 Collection,下面有三个主要的子接口:List、Set 和 Map。 List 集合是一种有序集合,可以存储重复元素,每个元素都有索引。ArrayList 和 LinkedList 是 List 集合的两个常用的...
### Java中List、Set和Map的区别 在Java编程语言中,`List`、`Set`和`Map`是集合框架中的三个核心接口,它们分别代表了不同类型的集合数据结构,各自有着独特的特性和应用场景。 #### List `List`接口是最常用的...
在Java编程语言中,集合框架是非常重要的一部分,其中包括List、Set和Map三个主要接口,它们各自具有独特的特性和用途。接下来我们将深入探讨这三个接口的特点以及它们的遍历方法。 首先,List接口代表有序的集合,...
Collection, List, Set 和 Map 用法和区别 Collection 是 Java 中的一种对象集合,提供了许多有用的方法来操作集合元素,例如添加、删除、遍历等。Collection 是一个接口,下面有两个子接口:List 和 Set。 List ...
最后,文档中还提到了将List集合存入Map中,然后再通过遍历Map来输出List中的内容。这说明Map集合可以非常灵活地存储不同类型的数据结构,并且可以通过遍历来访问这些数据。 总结来说,遍历Map集合是在Java编程中...