package com.jiml.test;
import org.junit.Test;
import java.util.*;
public class TestIterator {
@Test
public void testIteratorList(){
List<String> list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String str = iterator.next();
System.out.println(str);
}
}
//使用keySet
@Test
public void testIteratorMap1(){
Map<Integer,String> map = new HashMap<>();
map.put(100,"aa");
map.put(400,"bb");
map.put(500,"cc");
Iterator<Integer> iterator = map.keySet().iterator();
while(iterator.hasNext()){
Integer key = iterator.next();
String value = map.get(key);
System.out.println(key+"---"+value);
}
}
//使用entrySet
@Test
public void testIteratorMap2(){
Map<Integer,String> map = new HashMap<>();
map.put(100,"aa");
map.put(400,"bb");
map.put(500,"cc");
Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer, String> entry = iterator.next();
System.out.println(entry.getKey()+"---"+entry.getValue());
}
}
//TreeMap按照key进行升降排序
@Test
public void testTreeMap1(){
TreeMap<Integer,Integer> map1 = new TreeMap<>();
TreeMap<Integer,Integer> map2 = new TreeMap<>(
new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
}
);
map1.put(2,4);
map1.put(1,2);
map1.put(7, 1);
map1.put(5,2);
Iterator<Map.Entry<Integer, Integer>> iterator = map1.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<Integer, Integer> entry = iterator.next();
System.out.println(entry.getKey()+"---"+entry.getValue());
}
System.out.println(map1);
map2.put(2,4);
map2.put(1,2);
map2.put(7, 1);
map2.put(5,2);
Iterator<Map.Entry<Integer, Integer>> iterator1 = map2.entrySet().iterator();
while(iterator1.hasNext()){
Map.Entry<Integer, Integer> entry = iterator1.next();
System.out.println(entry.getKey()+"---"+entry.getValue());
}
System.out.println(map2);
}
//TreeMap按照value值进行升降排序
@Test
public void testTreeMap2(){
Map<String,String> map = new HashMap<>();
map.put("a","9");
map.put("b","8");
map.put("c","7");
map.put("d","1");
System.out.println("map:"+map);
Set<Map.Entry<String, String>> set = map.entrySet();
List<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
System.out.println("list:"+list);
}
}