已知一个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(); }
}

最新文章

  1. android ImageLoader 混淆加载drawable出现黑色图片的解决方案
  2. geotrellis使用(四)geotrellis数据处理部分细节
  3. Oracle优化 -- 关于Database Buffer Cache相关参数DB_CACHE_SIZE的优化设置
  4. python leetcode 日记--Maximal Square--221
  5. ES配置文件参考与参数详解
  6. XSS 前端防火墙(4):天衣无缝的防护
  7. 二维树状数组——SuperBrother打鼹鼠(Vijos1512)
  8. Linux C 程序 输入输出函数(THREE)
  9. [置顶] 推荐12款很棒的HTML5开发框架和开发工具
  10. 最大流之sap算法
  11. Android Activity 常用功能设置(全屏、横竖屏等)
  12. .net杂记
  13. Nginx创建密码保护目录
  14. 写论文如何做相关工作(realted work)的调研
  15. Source-Based XSS Test Cases
  16. CSS3基础入门03
  17. tomcat目录
  18. oracle中数据类型number(m,n)
  19. (一)问候 Jsoup
  20. Python程序数据溢出问题或出现 NAN 问题

热门文章

  1. 洛谷P5162 WD与积木 [DP,NTT]
  2. Poco::Crypto--加解密_RSA
  3. Vue项目构建开发笔记(vue-lic3.0构建的)
  4. linux cp命令使用
  5. mysql 视图 触发器 事物 存储过程 函数 流程控制
  6. package.json包描述文件说明
  7. 【linux】ftp使用端口转发问题
  8. Metasploit one test
  9. jenkins自动构建版本
  10. python WebDriver如何处理右键菜单