遍歷Map和List
本部落格只關注單執行緒型別,為了便於記憶,Map中的HashTable等執行緒安全型別不在討論之列,單執行緒型別效率更高,且單執行緒可以通過加執行緒的方式變成執行緒安全的型別。
Map是成對放的,一放一對,分成KEY和VALUE。
List有序,可重複
Set無序,不可重複
常用Map的種類
Map:HashMap、TreeMap、Hashtable
1、HashMap:執行緒不安全,鍵、值不允許為null。
2、TreeMap:執行緒不安全、鍵、值不允許為null,底層二叉樹。
說明:
HashMap:底層是雜湊表資料結構。執行緒不同步。
TreeMap:底層是二叉樹資料結構,執行緒不同步,可用於給Map集合中的鍵進行排序。
常用List的種類
List:ArrayList、LinkedList
說明:遍歷用前者,頻繁插入刪除(尤其是是前端和末尾頻繁插入刪除)時用後者。
常用的Set的種類
Set:HashSet、TreeSet
類似於Map,後者可用於排序。
- 遍歷Map
1.用增強型for迴圈取
既取鍵也取值
Map<String, String> map = new HashMap<String, String>();
1.for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
只取value
for (String v : map.values()) {
System.out.println("value= " + v);
}
2.用迭代器取值
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());
}
3.用entry取
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
例子:修改Map
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("key1", "value1");
map.put("key2", "value2");
list.add(map);
for (Map<String, Object> m : list) {
for (String k : m.keySet()) {
if(m.containsKey("key1")){
m.put("key1", "val1");
}
System.out.println(k + " : " + m.get(k));
}
}
- 遍歷List
未知list長度
while(iter.hasNext())
{
iter.next();
//System.out.println(iter.next());
}
已知list長度
for(int i = 0; i < list.size(); i++)
{
list.get(i);
//System.out.println(list.get(i));
}
增強型for迴圈
List<SdItemsVsImage> dtos = (List<SdItemsVsImage>) sdItemsVsImageDao.findDataIsPage(dto);
for(SdItemsVsImage dts : dtos){
...
}
- 遍歷Set
1.迭代遍歷:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
2.for迴圈遍歷:
for (String str : set) {
System.out.println(str);
}
相關推薦
Java8新特性之forEach+Lambda 表示式遍歷Map和List
今天來說一下Java8中forEach的簡單使用。我們使用對比的方式來看應該會看得更加清楚,更能理解: ============Java8之前的方式========== Map<String, Integer> items = new HashMap
遍歷Map和List
本部落格只關注單執行緒型別,為了便於記憶,Map中的HashTable等執行緒安全型別不在討論之列,單執行緒型別效率更高,且單執行緒可以通過加執行緒的方式變成執行緒安全的型別。 Map是成對放的,一放一對,分成KEY和VALUE。 List有序,可重複 S
jdk8及以上 foreach遍歷map和list
//foreach功能,遍歷Map public void queryMapExt(Map<String,Object> map){ map.forEach((k,v)->{ System.out.print
Java 遍歷Map 、List、Set、陣列的方法
List<String> list = new ArrayList<String>(); list.add("aaa"); list.add("bbb"); list.add("ccc"); 方法一: 超級for迴圈遍歷 for(String attribute : list) {
map和list迴圈遍歷
1 //map遍歷(zmm是實體類) 2 3 Map<String, zmm> maps = new HashMap<String, zmm>(); 4 5 //給map存值; 6 7 maps.put(username, zmm); 8 9 /
Mybatis 中遍歷map 引數中的 list 和 array 屬性
問題 在專案有中遇到批量刪除操作時,需要根據兩個屬性去刪除資料,其中一個是型別:type, 另一個是ids:陣列形式的id陣列。由於在官方文件中只是簡單的介紹foreach的用法,套用之後進行批量刪除操作:提示遍歷map中的array 屬性是無法獲取值。
Map的四種遍歷方式和兩種刪除方式
首先,建立一個map並存入資料 Map<String,Integer> map=new HashMap<String,Integer>(); map.put("小李", 20); map.put("校長", 21); map.put("小王", 25);
Java集合Collection之遍歷方法總結(List、Map、Set)
一、簡介 實際專案中,通常會用到迴圈遍歷List、Map等,今天有空總結了一下List/Map/Set的遍歷方法,如下: 二、List遍歷 List遍歷的方法一般有三種: 【a】使用普通的for迴圈; 【b】使用增強for迴圈; 【c】使用Iterator介
Struts2的OGNL遍歷陣列、List、簡單的Map
一、簡介 <s:iterator />可以遍歷資料棧裡面的任何陣列,集合等等 在使用這個標籤的時候有三個屬性值得我們關注1. value屬性:可選的屬性,value屬性是指一個被迭代的集合,使用ognl表示式指定,如果為空的話預設就是ValueStack棧頂的集合. 2.id屬性:可選屬性, 是
遍歷Map的兩種方法:keySet()和entrySet()
Map map=new HashMap(); Iterator it=map.keySet().iterator(); Object key; Object value; while(it.hasNext()){ key=it.next(); value=map.get(key); Syste
Thymeleaf——th:each遍歷Map List
@RequestMapping("/4") public Object a3(Model model){ Map<String,User> map1=new HashedMap(); User user1; for(int i=0;i<10;i++) {
java基礎--關於map的遍歷keySet和entrySet
首先是一個 關於遍歷的小例子: public static void main(String[] args) { // TODO Auto-generated method stub Map<String, String> map
遍歷List 遍歷Map
四種 port 內容 each 擔心 方法 ring void next 遍歷 ArrayList import java.util.*; public class Test{ public static void main(String[] args) {
Map遍歷KeySet()和EntrySet的效能差異與原始碼解析
Set<Entry<String, String>>entrySet =map.entrySet(); Set<String>set=map.keySet();` 上面就是我們經常用Map進行遍歷的兩種方式,在此對比一下兩者的
Java中遍歷Map的兩種方法:keySet和entrySet
//方法一 Set<String> set = map.keySet(); for (String s:set) { System.out.println(s+","+ma
jsp 頁面中用struts2 標籤遍歷集合(list map)
1,list: public class ListTestAction extends ActionSupport { private List<String> list1; private List<User> list2;
JSTL遍歷陣列,List,Set,Map等
<%@pagelanguage="java"contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%&g
遍歷map
sys htm shm key .com ext hashmap iter system public static void main(String[] args) { Map<String, String> map = new HashMap<St
遍歷Map的方法
get str 不足 while set entryset keyset entry date 集合在Java開發中的使用率還是比較高的,下面我們談一談如何遍歷集合中的Map。 筆者寫這篇文章前也百度了網上其他博主的文章,說是有四種五種這麽多,筆者仔細看了代碼後發現,其實主
遍歷Map集合的幾種方式
set password stat class ati put 獲取 map hashmap 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 im