Map遍历

import java.util.Map;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Map.Entry;//增强For循环
public class Main {public static void main(String[] args) {// 创建一个HashMap对象,并加入了一些键值对。Map<String, String> maps = new HashMap<String, String>();maps.put("1", "PHP");maps.put("2", "Java");maps.put("3", "C");maps.put("4", "C++");maps.put("5", "HTML");// 传统的遍历map集合的方法1; keySet()//traditionalMethod1(maps);// 传统的遍历map集合的方法2; entrySet()//traditionalMethod2(maps);// 使用增强For循环来遍历map集合方法1; keySet()//strongForMethod1(maps);// 使用增强For循环来遍历map集合方法2; entrySet()strongForMethod2(maps);}private static void strongForMethod2(Map<String, String> maps) {Set<Entry<String, String>> set = maps.entrySet();for (Entry<String, String> entry : set) {String key = entry.getKey();String value = entry.getValue();System.out.println(key + " : " + value);}}private static void strongForMethod1(Map<String, String> maps) {Set<String> set = maps.keySet();for (String s : set) {String key = s;String value = maps.get(s);System.out.println(key + " : " + value);}}// 使用entrySet()方法,获取maps集合中的每一个键值对,private static void traditionalMethod2(Map<String, String> maps) {Set<Map.Entry<String, String>> sets = maps.entrySet();// 取得迭代器遍历出对应的值。Iterator<Entry<String, String>> it = sets.iterator();while (it.hasNext()) {Map.Entry<String, String> entry = (Entry<String, String>) it.next();String key = entry.getKey();String value = entry.getValue();System.out.println(key + " : " + value);}}// 使用keySet()方法,获取maps集合中的所有键,遍历键取得所对应的值。private static void traditionalMethod1(Map<String, String> maps) {Set<String> sets = maps.keySet();// 取得迭代器遍历出对应的值Iterator<String> it = sets.iterator();while (it.hasNext()) {String key = it.next();String value = maps.get(key);System.out.println(key + " : " + value);}}
}

以上代码运行输出结果为:

1 : PHP
2 : Java
3 : C
4 : C++
5 : HTML

根据 key从map 里取出元素,并转成 Long、Integer

Long value1 = MapUtils.getLong(map, key);
Integer value2 = MapUtils.getInteger(map, key);

这样取出数据能够实现先判空,再判断类型,之后转换,防止报错。

内部实现:

public static Long getLong(final Map map, final Object key) {Number answer = getNumber(map, key);if (answer == null) {return null;} else if (answer instanceof Long) {return (Long) answer;}return new Long(answer.longValue());
}

集合反转(List反向输出)

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ListIterator;class Main {public static void main(String[] args) {String[] coins = { "A", "B", "C", "D", "E" };List l = new ArrayList();for (int i = 0; i < coins.length; i++)l.add(coins[i]);ListIterator liter = l.listIterator();System.out.println("反转前");while (liter.hasNext())System.out.println(liter.next());Collections.reverse(l);liter = l.listIterator();System.out.println("反转后");while (liter.hasNext())System.out.println(liter.next());}
}

以上代码运行输出结果为:

反转前
A
B
C
D
E
反转后
E
D
C
B
A

删除集合中指定元素(Set删除指定元素)

import java.util.*;public class Main {public static void main(String [] args) {   System.out.println( "集合实例!\n" ); int size;HashSet collection = new HashSet ();String str1 = "Yellow", str2 = "White", str3 = "Green", str4 = "Blue";  Iterator iterator;collection.add(str1);    collection.add(str2);   collection.add(str3);   collection.add(str4);System.out.print("集合数据: ");  iterator = collection.iterator();     while (iterator.hasNext()){System.out.print(iterator.next() + " ");  }System.out.println();collection.remove(str2);System.out.println("删除之后 [" + str2 + "]\n");System.out.print("现在集合的数据是: ");iterator = collection.iterator();     while (iterator.hasNext()){System.out.print(iterator.next() + " ");  }System.out.println();size = collection.size();System.out.println("集合大小: " + size + "\n");}
}

以上代码运行输出结果为:

集合实例!集合数据: White Yellow Blue Green
删除之后 [White]现在集合的数据是: Yellow Blue Green
集合大小: 3

只读集合

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;public class Main {public static void main(String[] argv) throws Exception {List stuff = Arrays.asList(new String[] { "a", "b" });List list = new ArrayList(stuff);list = Collections.unmodifiableList(list);try {list.set(0, "new value");} catch (UnsupportedOperationException e) {}Set set = new HashSet(stuff);set = Collections.unmodifiableSet(set);Map map = new HashMap();map = Collections.unmodifiableMap(map);System.out.println("集合现在是只读");}
}

以上代码运行输出结果为:

集合现在是只读

集合输出(TreeMap操作)

import java.util.*;public class Main{public static void main(String[] args) {System.out.println("TreeMap 实例!\n");TreeMap tMap = new TreeMap();tMap.put(1, "Sunday");tMap.put(2, "Monday");tMap.put(3, "Tuesday");tMap.put(4, "Wednesday");tMap.put(5, "Thursday");tMap.put(6, "Friday");tMap.put(7, "Saturday");System.out.println("TreeMap 键:" + tMap.keySet());System.out.println("TreeMap 值:" + tMap.values());System.out.println("键为 5 的值为: " + tMap.get(5)+ "\n");System.out.println("第一个键: " + tMap.firstKey() + " Value: " + tMap.get(tMap.firstKey()) + "\n");System.out.println("最后一个键: " + tMap.lastKey() + " Value: "+ tMap.get(tMap.lastKey()) + "\n");System.out.println("移除第一个数据: " + tMap.remove(tMap.firstKey()));System.out.println("现在 TreeMap 键为: " + tMap.keySet());System.out.println("现在 TreeMap 包含: " + tMap.values() + "\n");System.out.println("移除最后一个数据: " + tMap.remove(tMap.lastKey()));System.out.println("现在 TreeMap 键为: " + tMap.keySet());System.out.println("现在 TreeMap 包含: " + tMap.values());}
}

以上代码运行输出结果为:

TreeMap 实例!TreeMap 键:[1, 2, 3, 4, 5, 6, 7]
TreeMap 值:[Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]
键为 5 的值为: Thursday第一个键: 1 Value: Sunday最后一个键: 7 Value: Saturday移除第一个数据: Sunday
现在 TreeMap 键为: [2, 3, 4, 5, 6, 7]
现在 TreeMap 包含: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday]移除最后一个数据: Saturday
现在 TreeMap 键为: [2, 3, 4, 5, 6]
现在 TreeMap 包含: [Monday, Tuesday, Wednesday, Thursday, Friday]

集合转数组(List转Array)

import java.util.*;public class Main{public static void main(String[] args){List<String> list = new ArrayList<String>();list.add("我"); list.add("的"); list.add("天");list.add("堂");list.add("www.sanguo.com");String[] s1 = list.toArray(new String[0]); for(int i = 0; i < s1.length; ++i){String contents = s1[i];System.out.print(contents);} }
}

以上代码运行输出结果为:

我的天堂www.sanguo.com

List 循环移动元素

以下实例演示了如何使用 Collections 类的 rotate() 来循环移动元素,方法第二个参数指定了移动的起始位置:

import java.util.*;public class Main {public static void main(String[] args) {List list = Arrays.asList("one Two three Four five six".split(" "));System.out.println("List :"+list);Collections.rotate(list, 3);System.out.println("rotate: " + list);}
}

以上代码运行输出结果为:

List :[one, Two, three, Four, five, six]
rotate: [Four, five, six, one, Two, three]

Java 集合List、Set、HashMap操作二(Map遍历、List反向、Set删除指定元素,集合只读、TreeMap操作、List转Array、List移动元素)相关推荐

  1. hashmap删除指定key_Java集合之HashMap源码解析(JDK8)

    哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景非常丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出 ...

  2. 【Python】Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作

    1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...

  3. Python 2 和 Python 3 操作 MySQL 数据库实现创建表、删除表、增删改查操作

    1.MySQL数据库和表的编码格式 (1)创建数据库并指定字符集 mysql> create database testpythondb character set utf8; Query OK ...

  4. 最完整的集合概述:集合的概述和集合的继承体系、Collection集合 、List集合、数据结构、LinkedList集合、set-泛型-树、Map、HashMap、可变参数、创建不可变的集合

    二.Collection集合      注意点:  增强for的快捷方式:  三.List集合   指定索引获取元素可以跟普通for结合起来遍历这个集合 四.数据结构: (1)栈 :  (2)队列: ...

  5. java从入门到放弃(二)

    java从入门到放弃(二) //求园面积 结果保留5位小数double ymj = Math.PI*Math.pow(``2.14``,` `2``);DecimalFormat df1 =new D ...

  6. JAVA SE学习day_11:集合的相关应用、增强型for循环、foreach方法、数组与集合的相互转换

    一.集合的相关应用 1.1 将一个集合加到另一个集合上 boolean addAll(Collection c) 将给定集合中的所有元素添加到当前集合中.调用方法之后只要c1集合发生变化就返回true ...

  7. jQuery(一):概述、选择器、操作(元素本身、属性、内容、样式)、元素遍历、事件

    目录 一.jQuery概述 1.1 什么是jQuery 1.2 jQuery的优势 1.3 jQuery版本支持 1.4 jQuery引入 1.5 jQuery核心用法 1.5.1 $介绍 1.5.2 ...

  8. C++ map遍历的几种方式

    C++ map遍历的几种方式 #include <iostream> #include <unordered_map> using namespace std;int main ...

  9. java list移除符合条件的元素_java List删除指定元素的三种方法

    java List删除指定元素有3种方法,分别是普通for循环,增强for循环以及原生的Iterator迭代器循环来删除list中指定的某个元素,非常的简单. 1:普通for循环遍历list,并删除指 ...

  10. 原生JS forEach()和map()遍历的区别以及兼容写法

    一.原生JS forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...

最新文章

  1. 阿里云HBase全新发布X-Pack NoSQL数据库再上新台阶
  2. python实操培训_python实训day1
  3. 距离和相似性度量方法
  4. python eval 入门_Python学习笔记整理3之输入输出、python eval函数
  5. python 排序统计滤波器_马尔可夫链+贝叶斯滤波器的Python展示
  6. 2014年度优秀员工代表发言稿
  7. 中科院博士返乡卖汉服:3个月卖了300万,预计全年能破1500万
  8. 演示一个简单的Redis队列
  9. python切片迭代_Python高级特性 切片 迭代解析
  10. 【笔记】k-Nearest Neighbors(KNN/k近邻)原理
  11. 计算机电影院管理系统开题报告,开题报告电影院网上订票系统.doc
  12. 2018年最新税收分类编码_2018年新编码器调查:31,000人告诉我们他们如何学习编码和获得开发人员工作
  13. 微信html人脸识别接口,微信人脸识别可视化的实现:
  14. 省钱又省时间的买书方法
  15. CTF挑战赛-合天网安实验室-Reverse逆向100writeup
  16. 与64位版本的Windows不兼容,masm运行不了
  17. 组成原理 - 内存颗粒分类(ram,rom)
  18. PLC上的数字的意思
  19. this.setState修改某一对象的某个属性值,其它保留不变
  20. ever since用法

热门文章

  1. 牛牛牛!干翻Sci-hub!
  2. Apple Configurator 2下载 Apple Configurator 2 for mac官方最新版 支持M1
  3. python进程数据共享_python程序中的进程操作-进程间的数据共享
  4. 小学奥数_7832 最接近的分数 python
  5. python正则匹配找到所有的浮点数_Python随笔17:Python正则表达式基础(4):贪婪匹配和最小匹配...
  6. python程序可以在任何安装了解释器_Python解释器新手安装教程
  7. 【ES11(2020)】新增数据类型 BigInt
  8. Qt工作笔记-QMap查找时要注意的问题(使用contains)
  9. jdbctemplate分页mysql_jdbcTemplate实现分页功能
  10. docker tomcat启动无法进入欢迎页面