1.

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

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

排序

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

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

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

遍历

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

遍历时移除元素

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中遍历

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的遍历相关推荐

  1. Map集合遍历的四种方式理解和简单使用

    Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据 ...

  2. 【Groovy】map 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )

    文章目录 一.使用 map 集合的 each 方法遍历 map 集合 二.代码示例 一.使用 map 集合的 each 方法遍历 map 集合 遍历 map 集合 , 可以调用 map 集合的 eac ...

  3. 【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )

    文章目录 一. Dart 数据类型 Map 类型 二. Map 类型初始化并赋值 1. 创建 Map 对象同时进行初始化操作 2. 先创建 Map 对象再进行赋值 三. Map 集合遍历 1. 使用 ...

  4. C语言创建map,遍历map

    C语言创建map,遍历map 要实现的功能如下 完整源代码实现如下 要实现的功能如下 代码实现创建一个map,代码实现打印map 完整源代码实现如下 #include <iostream> ...

  5. 增强for循环、Map接口遍历、可变參数方法

    增强for循环 1.for循环能做得事情.增强for循环大部分都能做(假设要想获得下标的时候就必须使用简单for循环了) 2.增强for有时候可以方便的处理集合遍历的问题,可是集合的标准遍历是使用迭代 ...

  6. JAVA复习5(集合——集合的遍历 Iteratorforeach、Enumeration——HashMap、HashTable、LinkedHashMap——map的遍历)

    集合的遍历 Iterator   foreach  掌握   Enumeration List    Set    观察两个接口 迭代器输出 Iterator Set接口 或者 List 接口 都存在 ...

  7. React Native之(var和let区别 )(简单解构)(map对象遍历)(可变顺序参数和不可以变顺序参数函数)

    1 var和let区别 let左右范围在块里面,var定义的变量可提升,用let声明的变量不可以声明2次 2 简单解构 let [a, b, c] = [1, 2, 3]; 3  map对象遍历 co ...

  8. 浅谈“==”、equals和hashcode,以及map的遍历方法(可用作上一篇k-means博文参考)

    前不久看到一个公司的面试题,问到"=="和"equals"的区别,些许上答不上来,于是木羊搜索并整理了一下.此外,木羊前面写了k-means算法实现的博文,其中 ...

  9. 集合框架(一) ----------Map集合遍历的方法

    import java.util.*; /** * Map集合遍历的方法 * @author Administrator * */ public class Test2 { public static ...

最新文章

  1. mac下用Dosbox搭建dos下的汇编环境
  2. 鸿蒙系统能内测吗,鸿蒙系统内测用户:使用体验已经超越ios
  3. 关于神经网络分类特征平移不变性的实验
  4. 奇安信为什么大量招人_券商招人鄙视链:985学历vs美本学历,究竟谁垫底?
  5. UDP对应的应用层协议之DNS、DHCP
  6. arcgis for android sdk下载地址,Arcgis Runtime sdk for android 授权
  7. 剑指offer——面试题38:数字在排序数组中出现的次数
  8. 20200516每日一句
  9. Tecplot 安装记录
  10. 模块二 会务现场服务策划方案 案例1样本
  11. 2021爱分析·产业数字化峰会圆满落幕:加快推动产业数字化,构建产业共生生态
  12. 小学必背古诗词80首(带拼音)
  13. python 让电脑发出声音代码_python - 代码完成时发出声音警报
  14. Exiting because of unfinished merge.
  15. 大话设计模式:模板方法模式
  16. 2D图片转3D模型软件介绍
  17. 托运行李安检系统行业研究及十四五规划分析报告
  18. 一起装逼!开平方的七种算法
  19. Flutter中ListView顶部有空白
  20. 使用Altium Designer10软件绘制芯片引脚图(以IC1114芯片为例)

热门文章

  1. 一次家庭作业意外搞定40年前的数学猜想,牛津小哥:我只研究了几个礼拜
  2. AI破解古文字登Nature封面:修复缺失文字,精确地理位置和书写时间,DeepMind哈佛谷歌多家联手开发...
  3. 如何安全地吃掉悬崖边上的苹果?DeepMindOpenAI给出3D版安全强化学习答案
  4. 冬眠动物克服肌肉萎缩,靠的居然是“肠子”|Science
  5. 连鸽14年的哈勃望远镜“继任者”终于发射了!耗资600亿,能给136亿年前星系拍照...
  6. 商汤组了「最强大脑」局,正儿八经解释为啥搞起电竞AI
  7. 全球首款碳纳米管通用计算芯片问世!RISC-V架构,5倍于摩尔定律,Nature连发三文推荐...
  8. 转换Word文档为PDF文件
  9. JS编程建议——8:谨慎使用运算符(3)
  10. 揭秘HPE的最新一代组合式基础设施Synergy