集合遍历数组三种常用方式(Collecton和Map)
- 迭代器
- foreach(增强for循环)
- JDK1.8之后的新技术Lambda
public class IteratorDemo {
public static void main(String[] args) {
Collection<String> lists=new ArrayList<>();
lists.add("zyl");
lists.add("xyy");
lists.add("huy");
System.out.println(lists); Iterator<String> it=lists.iterator();
while (it.hasNext()){
System.out.println(it.next());
}
}
}
ListIterator<E> listIterator():列表迭代器
是List特有的迭代器,该迭代器继承了Iterator,所以也有hasNext()和next()方法
特有功能:
E previous() 返回列表中的上一个元素,并向后移动光标位置。
boolean hasPrevious() 返回 true如果遍历反向列表,列表迭代器有多个元素。
注意:如果想要逆序遍历,必须先正序遍历一次,才能逆序遍历,一般情况下无意义,一般不使用
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator; public class ArrarListDemo4 {
public static void main(String[] args) {
List lists=new ArrayList();
lists.add("1gfggfg");
lists.add("2fetgrg");
lists.add("3ouoiho");
lists.add("4iiiou"); ListIterator lt = lists.listIterator();
while (lt.hasNext()){
lt.next();
}
while(lt.hasPrevious()){
Object o = lt.previous();
String s = (String) o;
System.out.println(s);
} }
}
public class ForeachDemo1 {
public static void main(String[] args) {
Collection<String> lists=new ArrayList<>();
lists.add("yuyu");
lists.add("zyl");
lists.add("xyy");
lists.add("huy");
System.out.println(lists); for(String s:lists){
System.out.println(s);
} } }
import java.util.ArrayList;
import java.util.List; public class ArrayListDemo5 {
public static void main(String[] args) {
List lists=new ArrayList();
lists.add("1gfggfg");
lists.add("2fetgrg");
lists.add("3ouoiho");
lists.add("4iiiou"); for (int i=0;i<lists.size();i++){
System.out.println(lists.get(i));
}
}
}
public class MapDemo2 {
public static void main(String[] args) {
Map<String,Integer> maps=new HashMap<>();
maps.put("iphoneX",10);
maps.put("娃娃",30);
maps.put("iphoneX",100);// Map集合后面重复的键对应的元素会覆盖前面重复的整个元素!
maps.put("huawei",1000);
maps.put("生活用品",10);
maps.put("手表",10); Set<String> keys = maps.keySet();
System.out.println(keys);
// Iterator<String> it=keys.iterator();
// while (it.hasNext()){
// String key = it.next();
// Integer value=maps.get(key);
// System.out.println(key+"="+value);
// }
for (String key : keys) {
Integer value=maps.get(key);
System.out.println(key+"="+value);
}
}
}
Entry键值对对象:
public Set<Map .Entry< K, V>> entrySet();获取到Map集合中所有键值对对象的集合(Set集合)
public class MapDemo3 {
public static void main(String[] args) {
Map<String,Integer> maps=new HashMap<>();
maps.put("iphoneX",10);
maps.put("娃娃",30);
maps.put("iphoneX",100);
maps.put("huawei",1000);
maps.put("生活用品",10);
maps.put("手表",10); Set<Map.Entry<String,Integer>> entries=maps.entrySet();
for(Map.Entry<String,Integer> entry:entries){
String key=entry.getKey();
Integer value=entry.getValue();
System.out.println(key+"="+value);
}
}
}
Lambda:
public class MapDemo4 {
public static void main(String[] args) {
Map<String,Integer> maps=new HashMap<>();
maps.put("iphoneX",10);
maps.put("娃娃",30);
maps.put("iphoneX",100);
maps.put("huawei",1000);
maps.put("生活用品",10);
maps.put("手表",10); maps.forEach((k,v)->{
System.out.println(k+"="+v);
});
}
}
集合遍历数组三种常用方式(Collecton和Map)的更多相关文章
- Map集合遍历的四种方式理解和简单使用-----不能for循环遍历
Map集合遍历的四种方式理解和简单使用 ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后 ...
- Map接口中的常用方法和Map集合遍历键找值方式
Map接口中定义了很多方法,常用的如下: public V put(K key,V value) 将指定的值与此映射中的指定键相关联(可选操作) V remove(Object key); 如果此映射 ...
- Java基础进阶:学生管理系统数组方式分包源码实现,教师管理系统集合和数组两种方式源码实现,图书馆管理系统源码实现,现附重难点,代码实现源码,课堂笔记,课后扩展及答案
1.案例驱动模式 1.1案例驱动模式概述 (理解) 通过我们已掌握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题 1.2案例驱动模式的好处 (理解) 解决重复代码 ...
- Struts2的OGNL遍历数组、List、简单的Map
一.简介 <s:iterator />可以遍历 数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注 1. value属性:可选的属性,value属性是指一 ...
- Java:JSTL遍历数组,List,Set,Map
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 【Javascript】JS遍历数组的三种方法:map、forEach、filter
前言 近一段时间,因为项目原因,会经常在前端对数组进行遍历.处理,JS自带的遍历方法有很多种,往往不加留意,就可能导致知识混乱的现象,并且其中还存在一些坑.前端时间在ediary中总结了js原生自带的 ...
- java集合遍历的几种方式总结及比较
集合类的通用遍历方式, 用迭代器迭代: Iterator it = list.iterator(); while(it.hasNext()) { Object obj = it.next(); } ...
- Map集合遍历的四种方式理解和简单使用
~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:m ...
- Entry键值对对象和Map集合遍历键值对方式
我们已经知道,Map中存放的是两种对象,一种称为key(键),一种称为value(值),它们在在IMap 中是一一对应关系, 这一对对象又称做Map 中的一个Entry(项).Entry将键值对的对应 ...
随机推荐
- VueApp 自动更新解决plus is not defined问题
一,今天用VueApp 做自动更新调用按照网上列子直接 Plus 打包编译后出现了plus is not defined 发现需要引用document.addEventListener("p ...
- 如何保证前端项目上线后的安全?webfunny已总结前端最关键的12大指标
实时监控大屏 众所周知:实时流量大屏,是用来监控前端项目上线质量的. 如大家所知,监控系统会监控线上应用的各项指标,如:错误.白屏.耗时等等,但是仔细一想,即使有这些监控,我们也不一定能够保证线上 ...
- vivo商城计价中心 - 从容应对复杂场景价格计算
一.背景 随着vivo商城的业务架构不断升级,整个商城较为复杂多变的营销玩法被拆分到独立的促销系统中. 拆分后的促销系统初期只是负责了营销活动玩法的维护,促销中最为重要的计价业务仍然遗留在商城主站业务 ...
- Oracle 11g数据库下载安装教程
今天重装系统之后发现甲骨文的网站变化较大,下载安装废了一点时间,留下个笔记为以后再装留作参考.本教程是win10,64位系统环境下 1.下载 下载的时候需要登陆甲骨文账号,如果没有的话申请一个也挺快. ...
- C#基础知识---Linq操作XML文件
概述 Linq也就是Language Integrated Query的缩写,即语言集成查询,是微软在.Net 3.5中提出的一项新技术. Linq主要包含4个组件---Linq to Objects ...
- uwp 之语音朗读
xml code --------------------------------- <Page x:Class="MyApp.MainPage" xmlns="h ...
- 关于Java集合框架的总结
Java集合框架(都实现了Cloneable和Serializable接口)支持以下两个类型的容器: 一种是为了存储一个元素集合,简称集合(collection). 另一种是为了存储键/值对,称为图( ...
- JDBC中的元数据——3.结果集元数据
package metadata; import java.sql.Connection; import java.sql.ParameterMetaData; import java.sql.Pre ...
- 了解Prometheus
了解Prometheus 标签(空格分隔): 监控 介绍 Prometheus是用来收集和存储服务器的实时数据(比如:CPU.硬盘.服务响应.日志等),通过其丰富的运算函数,可以计算得到很多的服务性能 ...
- linux安装mysql80
打开网址:https://dev.mysql.com/downloads/repo/yum/,选择对应li 安装mysql源 yum -y localinstall mysql80-community ...