Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)

一、学习ArrayList与Map时,关于常用遍历方法的记录如下:

  

  

  

 二、附源码如下:

package com.study.in.myself;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class Study16 {

public static void main (String [] args){

//遍历ArrayList的几种方法
//创建一个ArrayList对象,并造型为String类型
List<String> list = new ArrayList<String>();
list.add("Hello");
list.add("world");
list.add("学习迭代器");

//第一种遍历方法 for循环
for(int i =0 ; i<list.size();i++){
//HashMap map = (HashMap)list.get(i);
System.out.println(list.get(i));
}
//第二种遍历方法 把链表变为数组相关的内容进行遍历
String[] strArray=new String[list.size()];
list.toArray(strArray);
for(int i= 0 ;i < strArray.length;i++){
System.out.println(strArray[i]);
}

//第三种遍历方法 增强for循环

for(String str : list){
System.out.println(str);
}

//第四种遍历方法 使用迭代器进行遍历

Iterator<String> ite = list.iterator();
while(ite.hasNext()){
System.out.println(ite.next());
}

//遍历Map的几种方法

HashMap<String,String> map = new HashMap<String,String>();
map.put("1", "学习map用put放值");
map.put("2", "学习Map的遍历方法");
map.put("3", "Hello World");

//第一种遍历方法 通过map.get(key)二次取值 常用
for(String key :map.keySet()){
System.out.println("key"+key+" value "+map.get(key));
}

//第二种遍历方法 通过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()+" value "+entry.getValue());
}

//第三种方法 通过Map.entrySet遍历key和value 推荐 尤其是容量很大的时候
for(Map.Entry<String, String> entry: map.entrySet()){

System.out.println("key "+entry.getKey()+" value "+entry.getValue());
}

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

时间: 2024-10-13 23:59:38

Java中关于 ArrayList 和 Map 的常用遍历方法 (学习笔记,便于以后查询)的相关文章

java中内置的进制转换的方法---小笔记

10进制转换成16进制:Integer.toHexString(int i) 10进制转换成8进制:Integer.toOctalString(int i) 10进制转换成2进制:Integer.toBinaryString(int i) 16进制转换成10进制:Integer.valueOf("",16).toString() 8进制转换成10进制:Integer.valueOf("",8).toString() 2进制转换成10进制:Integer.valueO

Java中的Collection和Map(二)--List体系

正如我们在Java中的Collection和Map(一)中所看到的那样,我们经常使用的有ArrayList.LinkedList.Vector.Stack.这里不再累述它们的使用方法,这里主要是说一下他们的底层结构以及使用时机. 1.ArrayList 我们都知道ArrayList是我们经常使用的List集合之一.我们在使用的时候经常通过 new ArrayList() 方法来创建一个ArrayList集合,然后调用它的 add(E e) 方法向集合中存储元素.那么你是否了解当我们使用 new

Java中针对 ArrayList和LinkedList 的区别

一般大家都知道ArrayList和LinkedList的大致区别:      1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针.      3.对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据. ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用

Java中集合List,Map和Set的区别

Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Key不能重复 4.Set中的元素是无序的,不可重复的

实现Java中的ArrayList

最近深受轮子哥影响,觉得造一些轮子应该会对自己的技术功底有一定的帮助,就决定先从简单的容器开始实现.废话不多说,就先实现一个Java中的ArrayList. ArrayList是我们在Java中使用非常多的一个类,它是顺序表的数组实现,LinkedList是顺序表的链式实现(自己编的名字,懂就好哈),还有个Vector,它与ArrayList比较像,区别是它是线程安全的. 顺序表应该都有相同的操作,所以我先定义一个接口,描述好顺序表需要哪些操作.代码如下: public interface KI

JAVA中的反射只获取属性的get方法

JAVA中的反射只获取属性的get方法 在开发过程中,我们经常需要获取类中某些属性的get方法,此时我们需要使用到反射,例如,我们在获得一个对象后,需要知道该对象的哪些属性有值,哪些没有值,方便我们后面的处理. 譬如在我们拼SQL语句时,就需要知道哪些字段为空或为NULL,此时我们在拼语句的时候需要剔除掉,若是我们采用一般的判断的办法,则会很复杂(需要处理好SQL中的AND关键字的有无 ),当然,我们也有另外的解决办法(例如将非空的键和值存入map中,再将map存入list集合中,然后循环集合做

JavaScript中正则表达式判断匹配规则以及常用的方法

JavaScript中正则表达式判断匹配规则以及常用的方法: 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在. 正则表达式是一种用来匹配字符串的强有力的武器.它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它"匹配"了. \d可以匹配一个数字                 '00\d'可以匹配'007' ,'\d\d\d'可以匹配'010' \w可以匹配一个字母或数字      '\w\w'可以匹配'js' \s可

java中封装类Feild和使用setter和getter方法访问封装的类Feild

class Person { private String name; private int age; public void setName(String name) //定义访问name的方法 { if (name.length() > 6 || name.length() < 2) { System.out.println("您设置的人名长度不合要求!"); } else { this.name = name; } } public String getName()

Java中取小数点后两位(四种方法)

摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法) 一 Long是长整型,怎么有小数,是double吧     java.text.DecimalFormat   df=new   java.text.DecimalFormat("#.##");     double   d=3.14159;     System.out.println(df.format(d)); 二 java.math.BigDecimal     B