map常用的四种遍历方式
程序员文章站
2024-02-14 22:54:46
...
map常用的四种遍历方式
加了一些list的用法,记录用防止忘
public class Test {
public static void main(String[] args) {
Hashtable<Object, Object> objectObjectHashtable = new Hashtable<>();
HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
List stringList=new ArrayList<String>();
stringList.add("123aaa");
stringList.add("123aaa");
stringList.add("133aaa");
stringList.add("113aaa");
stringList.add("2222bbb");
stringList.add("6bbb");
stringList.add("8bbb");
stringList.add("0ccc");
stringList.add("555ddd");
stringList.add("A");
stringList.add("a");
/**
* 对字符串类型的集合进行排序
* 先按照首位进行排序,如果首位相同,依次往后进行比较
* 都是字母的话,会根据scaII码值进行比较
*/
Object[] array = stringList.toArray();
Arrays.sort(array);
for (int i = 0; i < array.length; i++) {
//System.out.println(array[i]);
}
/**
* 如果想除去arrayList中的重复数据,可以将arrayList装换为hashSet
* 这样就能除去重复项
*/
HashSet<String> hashSet = new HashSet<String>(stringList);
for (String object : hashSet) {
//System.out.println(object);
}
HashMap<Object, Object> hashMap = new HashMap<>();
hashMap.put("key1","哈哈1");
hashMap.put("key2","哈哈2");
hashMap.put("key3","哈哈3");
hashMap.put("key4","哈哈4");
/**
* 对map进行遍历
* 1.通过keyset()方法 获取所有的key值,加上迭代器进行
* 2.通过foreach 遍历所有的key值
*/
Set<Object> set = hashMap.keySet();
Iterator<Object> iterator = set.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.println(next+"~~~~~~~"+hashMap.get(next));
}
for (Object key:set) {
System.out.println(key+"~~~~---"+hashMap.get(key));
}
/**
* 3.通过entrySet()方法 直接获取map中entry对象的值
* 4.通过foreach 遍历所有的entry对象
*/
Set<Map.Entry<Object, Object>> entries = hashMap.entrySet();
Iterator<Map.Entry<Object, Object>> iterator1 = entries.iterator();
while (iterator1.hasNext()){
Map.Entry<Object, Object> next = iterator1.next();
System.out.println(next.toString());
}
for (Map.Entry<Object, Object> entry:entries) {
System.out.println(entry.getKey()+"=="+entry.getValue());
}
/**
* 通过values()方法 对hashMap中的value进行遍历
* map中entry<key,value>对象的key是唯一的,value可以不唯一
*/
Collection<Object> values = hashMap.values();
Iterator<Object> iterator2 = values.iterator();
while (iterator2.hasNext()){
Object next = iterator2.next();
System.out.println(next+"-------");
}
}
上一篇: java对URL进行编码和解码
下一篇: 关于Mybatis保存中文时出现乱码问题