// 在对集合中元素遍历删除时不要使用集合本事的remove方法,除非是单个移除;
// 否则任何时候建议使用迭代器(Iterator)本身的remove方法对元素进行删除
// 注意事项:使用迭代器删除的时候,必须先next获取下一个元素,否则会出现IllegalSextion异常
package com.softeem.oop;
import java.awt.List;
import java.util.ArrayList;
import java.util.Iterator;
public class ListDome2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList list = new ArrayList();
list.add("hello");
list.add("word");
list.add("hi");
Iterator it = list.iterator();
while (it.hasNext()) {
String s = it.next().toString();
if (s.equals("word") || s.equals("hello"))
it.remove();
}
System.out.println(list);
}
}
正向遍历
Iterator it = list.terator();
while(it.hasNext()){
Object obj = it.next();
System.out.println(it.hashCode(obj));
}
反向遍历
ListIterator it = list.listIterator();
while (it.hasPrevious()){
Object obj1 =it.previous();
System.out.println("没有:"+obj1);
}
队列
package com.softeem.oop;
import java.util.ArrayDeque;
import java.util.PriorityQueue;
import java.util.Queue;
public class QueQueDome {
// 队列
public static void main(String[] args) {
// TODO Auto-generated method stub
// Queue q = new PriorityQueue();
Queue q = new ArrayDeque();
q.add("b");
q.add("a");
q.add("0");
Object o = q.peek();// 获取第一个元素不删除
// Object o = q.poll();//获取第一个元素删除
System.out.println(q);
System.out.println(o);
}
}
//身份证改名字问题选择HashMap,key对应vaule
package com.softeem.oop;
import java.util.HashMap;
public class Person {
private int id;
private String name;
private String address;
public Person(int id, String name, String address) {
super();
this.id = id;
this.name = name;
this.address = address;
}
@Override
public String toString() {
return "Person [id=" + id + ", name=" + name + ", address=" + address
+ "]";
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1 = new Person(11, "张三", "武汉");
Person p2 = new Person(12, "李四", "北京");
HashMap map = new HashMap();
map.put(p1.id, p1);// id作为键值放到Map中
map.put(p2.id, p2);
System.out.println("HashMap 中的人员为:" + map);
Person p3 = new Person(11, "张珊", "武汉");
map.put(p3.id, p3);
System.out.println();
System.out.println("HashMap 中的人员为:" + map);
}
}
HashSet()添加进去的元素位置和添加顺序无关
LinkedHashSet()添加进去的元素位置和添加顺序无关
TreeSet()对Hashset中元素进行排序存放
例如:
96,64,14,95,57
Hashset()————》64,96,95,57,14
LinkedHashset ——》96,64,14,95,57
对set对象中的元素进行排序,TreeSet用于对集合中元素以有序的方式提取元素
TreeSet——————》14,57,64,95,96
//Map. keySet()
package com.softeem.oop2;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map map = new HashMap();
map.put("语文", 89);
map.put("数学", 69);
map.put("英语", 49);
map.put("地理", 29);
map.put("语文", 79);
map.put(null, "语文");
System.out.println(map);
System.out.println(map.get("语文"));
Set keys = map.keySet();
Iterator it = keys.iterator();
while (it.hasNext()) {
Object k = it.next();
Object v = map.get(k);
System.out.println(k + "-->" + v);
}
}
}