已知一个Person类:

 public class Person implements Comparable<Person>{
String name;
String id;
public Person(String name,String id) {
this.name=name;
this.id=id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getId() {
return id;
} public void setId(String id) {
this.id = id;
} public boolean equals(Object o) {
if(!(o instanceof Person)) {
return false;
}
Person person=(Person) o;
return this.id.equals(person.id);
}
@Override
public int compareTo(Person o) {
if(o==null)
return ;
return this.id.compareTo(o.id);
} public String toString() {
return String.format("%s-%s", name,id);
} public int hasCode() {
return id.hashCode();
}
}

1、遍历HashMap的不同方法:

 import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import difficult.Person;
public class HashMapDemo {
public static void main(String[] args) {
Map<String, Person> map=new HashMap<>();
Person p1=new Person("张三", "");
map.put(p1.getId(), p1);
map.put("", new Person("", "李四"));
map.put("", new Person("", "王五"));
System.out.println(map); System.out.printf("%s-%s\n","",map.get(""));
//增强型for,元素类型为Entry<String,Person>
for(Entry<String, Person> entry:map.entrySet()) {
System.out.printf("%s-%s ",entry.getKey(),entry.getValue());
}
System.out.println();
//利用set来遍历
Set<String> keys=map.keySet();
for(String key:keys) {
Person value=map.get(key);
System.out.printf("%s-%s ",key,value);
}
System.out.println();
}
}

2、遍历list的不同方法

 import java.util.ArrayList;
import java.util.Iterator;
import java.util.List; import difficult.Person; public class IterateList { public static void main(String[] args) {
List<Person> persons = new ArrayList<>();//,List为一个接口,定义一个泛型为Person的ArrayList表
Person p = new Person("1001", "张三"); persons.add(p);
persons.add(p);
persons.add(new Person("1002", "李四"));
persons.add(new Person("1003", "王五"));
persons.add(new Person("1004", "沈六")); //遍历1:下标
int len=persons.size();
for(int i=0;i<len;i++) {
Person person=persons.get(i);
System.out.print(person+"\t");
}
System.out.println();
//遍历2:迭代器
Iterator<Person> iterator=persons.iterator();
while(iterator.hasNext()) {
Person person=iterator.next();
System.out.print(person+"\t");
}
System.out.println(); //遍历3:增强型for
for(Person person:persons) {
System.out.print(person+"\t");
}
System.out.println(); int[] data= {1,3,5,7,9};
for(int dat:data) {
System.out.print(dat+"\t");
}
}
}

3、利用向量(通过枚举)遍历list

 import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Vector; import difficult.Person; public class VectorAndList { public static void main(String[] args) {
List<Person> persons = new ArrayList<>();
Person p = new Person("1001", "张三"); persons.add(p);
persons.add(p);
persons.add(new Person("1002", "李四"));
persons.add(new Person("1003", "王五"));
persons.add(new Person("1004", "沈六")); // 遍历二:迭代器
Iterator<Person> iterator=persons.iterator();
while(iterator.hasNext()) {
Person person=iterator.next();
System.out.print(person+"\t");
}
System.out.println(); //向量
Vector<Person> vector=new Vector<>();
vector.addAll(persons);
//通过枚举遍历
Enumeration<Person> enu=vector.elements();
while(enu.hasMoreElements()) {
Person person=enu.nextElement();
System.out.print(person+"\t");
}
System.out.println(); }
}

Java中的不同遍历方式的更多相关文章

  1. Java 中数组的遍历方式

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java 语言中提供的数组是用来存储固定大小的同类型元素. 今天我们就来说一下在java中遍历数组都有哪几 ...

  2. Java集合01----ArrayList的遍历方式及应用

                                                 Java集合01----ArrayList的遍历方式及应用 前面已经学习了ArrayList的源代码,为了学以 ...

  3. JS 和 Java 中URL特殊字符编码方式

    前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1.  编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...

  4. Java中数组的初始化方式

    Java中数组的初始化方式    初始化方式有两种: 1.静态初始化:初始化时由程序猿显式指定每一个数组元素的初始值,由系统指定数组长度 2.动态初始化:初始化时由程序猿仅仅指定数组长度,由系统为数组 ...

  5. 原码,补码,反码的概念及Java中使用那种存储方式

    原码,补码,反码的概念及Java中使用那种存储方式: 原码:原码表示法是机器数的一种简单的表示法.其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示 补码:机器数的补码可由原码得到.如果机器 ...

  6. Java中实现线程的方式

    Java中实现线程的方式 Java中实现多线程的方式的方式中最核心的就是 run()方法,不管何种方式其最终都是通过run()来运行. Java刚发布时也就是JDK 1.0版本提供了两种实现方式,一个 ...

  7. Java(8)中List的遍历方式总结

    本篇文章主要讲述了List这一集合类型在Java,包括Java8中的遍历方式,不包括其他的过滤,筛选等操作,这些操作将会在以后的文章中得到提现,由List可以类推到Set等类似集合的遍历方式. pub ...

  8. Java中反射的实现方式

    所谓反射,是指在运行时状态中,获取类中的属性和方法,以及调用其中的方法的一种机制.这种机制的作用在于获取运行时才知道的类(Class)及其中的属性(Field).方法(Method)以及调用其中的方法 ...

  9. Java中四种遍历Map对象的方法

    方法一:在for-each循环中使用entry来遍历,通过Map.entrySet遍历key和value,这是最常见的并且在大多数情况下也是最可取的遍历方式.在键值都需要时使用. Map<Int ...

随机推荐

  1. jq获取页面url后边带的参数

    //获取url后边的参数 $.getUrlParam = function (name) {                  var reg = new RegExp("(^|&) ...

  2. HTML之Position用法

    在此,先做声明,本篇仅是摘录自互联网,个人认为这篇文章讲的很不错,附于此地与大家共同欣赏. position的四个属性值: 1.relative2.absolute3.fixed4.static下面分 ...

  3. jQuery传参

    <a href="#" onClick="click_scroll('here1');">滚动到here1</a><a href= ...

  4. InstallUtil操作WindowsService

    要安装windows service 首先要找到 InstallUtil.exe,InstallUtil.exe位置在 C:\Windows\Microsoft.NET\Framework\v4.0. ...

  5. Confluence 6 增加和减少你许可证的用户数

    增加你许可证的用户数 如果你使用的用户数超过你许可证允许的用户数的话,你的 Confluence 实例将会变成为只读. 只读的意思是没有用户可以创建和编辑内容,直到你的用户数满足你的许可证需求为止. ...

  6. day 13 装饰器

    装饰器基础 装饰器的目的是为了给被装饰 对象,增加新功能,或者说增加某种能力 在程序中工具就是函数 如此一来,装饰器指的就是一个函数,被装饰着也是一个函数 总结;装饰器就是用一个函数去拓展另外一个已存 ...

  7. spring mvc底层(DispacherServlet)的简单实现

    使用过spring mvc的小伙伴都知道,mvc在使用的时候,我们只需要在controller上注解上@controller跟@requestMapping(“URL”),当我们访问对应的路径的时候, ...

  8. 1709: Fire or Retreat(zzuli)

    水题,哎,可是第一次是因为编译错了,vs不知咋了,无奈: 后面几次又因为类型用了int错了,痛苦: 题目描述 在与科技水平远胜于我们的外星人的战斗最后,我们能够用来对外星装甲造成伤害的武器只剩下了…… ...

  9. vue :基本语法格式

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Vu ...

  10. python selenium打开新窗口,多窗口切换

    # coding=utf-8 from selenium import webdriver browser=webdriver.Firefox() browser.maximize_window() ...