LIst和map的遍历
1.
![](/assets/blank.gif)
![](/assets/blank.gif)
public static void main(String[] args) {// ArrayList类实现一个可增长的动态数组List<String> list = new ArrayList<String>();// 插入元素list.add("list1");list.add("list2");// 打印list的大小 System.out.println(list.size());// 按索引移除元素list.remove(0);// 按对象移除元素list.remove("list2");// 打印list的大小 System.out.println(list.size());// 清空list list.clear(); }
View Code
2.linkedList
![](/assets/blank.gif)
![](/assets/blank.gif)
public static void main(String[] args) {// LinkedList类实现了链表,可初始化化为空或者已存在的集合LinkedList<String> list = new LinkedList<String>();// 插入元素list.add("list2");list.add("list3");// 向链表头插入数据list.addFirst("list1");// 向链表尾插入数据list.addLast("list4");for (String str : list) {System.out.println(str);}// 获取链表头数据System.out.println("链表头数据:" + list.getFirst());// 获取链表尾数据System.out.println("链表尾数据:" + list.getLast()); }
View Code
排序
![](/assets/blank.gif)
![](/assets/blank.gif)
public static void main(String[] args) {// 创建listList<Integer> list = new ArrayList<Integer>();// 插入元素list.add(2);list.add(0);list.add(3);list.add(4);list.add(1);Collections.sort(list);for (int i : list) {System.out.println(i);} }
View Code
![](/assets/blank.gif)
![](/assets/blank.gif)
public static void main(String[] args) {ArrayList<String> list = new ArrayList<String>();list.add("一鸣惊人-Y");list.add("人山人海-R");list.add("海阔天空-H");list.add("空前绝后-K");list.add("后来居上-H");Comparator<Object> cmp = Collator.getInstance(java.util.Locale.CHINA);Collections.sort(list, cmp);for (String str : list) {System.out.println(str);} }
View Code
![](/assets/blank.gif)
![](/assets/blank.gif)
package net.xsoftlab.baike; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class TextList {public static void main(String[] args) {List<User> userlist = new ArrayList<User>();userlist.add(new User("Y - 易小星 ", 33));userlist.add(new User("W - 王大锤", 33));Comparator<User> cmp = new ComparatorUser();Collections.sort(userlist, cmp);for (User user : userlist) {System.out.println(user.getName());}} } class ComparatorUser implements Comparator<User> {@Overridepublic int compare(User u1, User u2) {// 先按年龄排序int flag = u1.getAge().compareTo(u2.getAge());// 年龄相等比较姓名if (flag == 0) {return u1.getName().compareTo(u2.getName());} else {return flag;}} } class User {private String name;private Integer age;public User() {super();}public User(String name, Integer age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;} }
View Code
遍历
![](/assets/blank.gif)
![](/assets/blank.gif)
public static void main(String[] args) {List<String> list = new ArrayList<String>();// 插入元素list.add("list1");list.add("list2");list.add("list3");System.out.println("第一种遍历方法 - >");for (String str : list) {System.out.println(str);}System.out.println("第二种遍历方法 - >");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}System.out.println("第三种遍历方法 - >");Iterator<String> iter = list.iterator();while (iter.hasNext()) {System.out.println(iter.next());} }
View Code
遍历时移除元素
![](/assets/blank.gif)
![](/assets/blank.gif)
package net.xsoftlab.baike; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class RemoveItemFromList {public static void main(String[] args) {List<String> list = new ArrayList<String>();// 插入元素list.add("list1");list.add("list2");list.add("list2");list.add("list3");// 实例化新的list防止因传递地址而达不到测试效果。remove1(new ArrayList<String>(list));remove2(new ArrayList<String>(list));remove2_1(new ArrayList<String>(list));remove3(new ArrayList<String>(list));}public static void remove1(List<String> list) {System.out.print("第一种方法 - > ");try {for (String str : list) {if (str.equals("list2"))list.remove(str);}} catch (Exception e) {System.out.println("移除失败!");}}public static void remove2(List<String> list) {System.out.print("第二种方法 - > ");for (int i = 0; i < list.size(); i++) {String str = list.get(i);if (str.equals("list2"))list.remove(str);}System.out.println(list);System.out.println("也有异常,可以用下面的方法避免。");}public static void remove2_1(List<String> list) {System.out.print("第二种方法修正 - > ");for (int i = 0; i < list.size(); i++) {String str = list.get(i);if (str.equals("list2")) {list.remove(str);// 因移除了元素,位置发生偏移,需要重新对当前位置的元素进行判断。i--;}}System.out.println(list);}public static void remove3(List<String> list) {System.out.print("第三种方法 - > ");Iterator<String> iter = list.iterator();while (iter.hasNext()) {String str = iter.next();if (str.equals("list2"))iter.remove();}System.out.println(list);} }
View Code
map4中遍历
![](/assets/blank.gif)
![](/assets/blank.gif)
public static void main(String[] args) {Map<String, String> map = new HashMap<String, String>();map.put("1", "value1");map.put("2", "value2");map.put("3", "value3");//第一种:普遍使用,二次取值System.out.println("通过Map.keySet遍历key和value:");for (String key : map.keySet()) {System.out.println("key= "+ key + " and value= " + map.get(key));}//第二种System.out.println("通过Map.entrySet使用iterator遍历key和value:");Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, String> entry = it.next();System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}//第三种:推荐,尤其是容量大时System.out.println("通过Map.entrySet遍历key和value");for (Map.Entry<String, String> entry : map.entrySet()) {System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());}//第四种System.out.println("通过Map.values()遍历所有的value,但不能遍历key");for (String v : map.values()) {System.out.println("value= " + v);}}
View Code
转载于:https://www.cnblogs.com/galibujianbusana/p/5712898.html
LIst和map的遍历相关推荐
- Map集合遍历的四种方式理解和简单使用
Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据 ...
- 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )
文章目录 一.使用 map 集合的 each 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 each 方法遍历 map 集合 遍历 map 集合 , 可以调用 map 集合的 eac ...
- 【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )
文章目录 一. Dart 数据类型 Map 类型 二. Map 类型初始化并赋值 1. 创建 Map 对象同时进行初始化操作 2. 先创建 Map 对象再进行赋值 三. Map 集合遍历 1. 使用 ...
- C语言创建map,遍历map
C语言创建map,遍历map 要实现的功能如下 完整源代码实现如下 要实现的功能如下 代码实现创建一个map,代码实现打印map 完整源代码实现如下 #include <iostream> ...
- 增强for循环、Map接口遍历、可变參数方法
增强for循环 1.for循环能做得事情.增强for循环大部分都能做(假设要想获得下标的时候就必须使用简单for循环了) 2.增强for有时候可以方便的处理集合遍历的问题,可是集合的标准遍历是使用迭代 ...
- JAVA复习5(集合——集合的遍历 Iteratorforeach、Enumeration——HashMap、HashTable、LinkedHashMap——map的遍历)
集合的遍历 Iterator foreach 掌握 Enumeration List Set 观察两个接口 迭代器输出 Iterator Set接口 或者 List 接口 都存在 ...
- React Native之(var和let区别 )(简单解构)(map对象遍历)(可变顺序参数和不可以变顺序参数函数)
1 var和let区别 let左右范围在块里面,var定义的变量可提升,用let声明的变量不可以声明2次 2 简单解构 let [a, b, c] = [1, 2, 3]; 3 map对象遍历 co ...
- 浅谈“==”、equals和hashcode,以及map的遍历方法(可用作上一篇k-means博文参考)
前不久看到一个公司的面试题,问到"=="和"equals"的区别,些许上答不上来,于是木羊搜索并整理了一下.此外,木羊前面写了k-means算法实现的博文,其中 ...
- 集合框架(一) ----------Map集合遍历的方法
import java.util.*; /** * Map集合遍历的方法 * @author Administrator * */ public class Test2 { public static ...
最新文章
- mac下用Dosbox搭建dos下的汇编环境
- 鸿蒙系统能内测吗,鸿蒙系统内测用户:使用体验已经超越ios
- 关于神经网络分类特征平移不变性的实验
- 奇安信为什么大量招人_券商招人鄙视链:985学历vs美本学历,究竟谁垫底?
- UDP对应的应用层协议之DNS、DHCP
- arcgis for android sdk下载地址,Arcgis Runtime sdk for android 授权
- 剑指offer——面试题38:数字在排序数组中出现的次数
- 20200516每日一句
- Tecplot 安装记录
- 模块二 会务现场服务策划方案 案例1样本
- 2021爱分析·产业数字化峰会圆满落幕:加快推动产业数字化,构建产业共生生态
- 小学必背古诗词80首(带拼音)
- python 让电脑发出声音代码_python - 代码完成时发出声音警报
- Exiting because of unfinished merge.
- 大话设计模式:模板方法模式
- 2D图片转3D模型软件介绍
- 托运行李安检系统行业研究及十四五规划分析报告
- 一起装逼!开平方的七种算法
- Flutter中ListView顶部有空白
- 使用Altium Designer10软件绘制芯片引脚图(以IC1114芯片为例)
热门文章
- 一次家庭作业意外搞定40年前的数学猜想,牛津小哥:我只研究了几个礼拜
- AI破解古文字登Nature封面:修复缺失文字,精确地理位置和书写时间,DeepMind哈佛谷歌多家联手开发...
- 如何安全地吃掉悬崖边上的苹果?DeepMindOpenAI给出3D版安全强化学习答案
- 冬眠动物克服肌肉萎缩,靠的居然是“肠子”|Science
- 连鸽14年的哈勃望远镜“继任者”终于发射了!耗资600亿,能给136亿年前星系拍照...
- 商汤组了「最强大脑」局,正儿八经解释为啥搞起电竞AI
- 全球首款碳纳米管通用计算芯片问世!RISC-V架构,5倍于摩尔定律,Nature连发三文推荐...
- 转换Word文档为PDF文件
- JS编程建议——8:谨慎使用运算符(3)
- 揭秘HPE的最新一代组合式基础设施Synergy