集合遍历数组三种常用方式(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将键值对的对应 ...
随机推荐
- 跟我一起写 Makefile(四)
书写规则 ---- 规则包含两个部分,一个是依赖关系,一个是生成目标的方法. 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出 ...
- FSM自动售货机 verilog 实现及 code 细节讲解
1.题目: 饮料1.5 元, 可投入硬币1 元 0.5 元,输出饮料 零钱 2. 画出状态机. 3.仿真结果:coin=1 --> 0.5 元 coin=2-->1元 4.关键代码分析: ...
- 清理docker常用命令
0.查看docker占用空间docker system df1.一键删除所有已经停止的容器 docker container prune 2.删除所有容器(包含停止的 正在运行的) docker rm ...
- 最详细之教你Jenkins+github自动化部署.Net Core程序到Docker
环境 centos7.9,.NET5 一.Jenkins搭建 1)下载Jenkins的war包 在\home目录建一个jenkins目录放jenkins的包 #进入\home目录 cd \home # ...
- DVWA(五):CSRF 全等级跨站请求伪造
CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie.会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面 ...
- 【AI】TorchVision_DataLoad
From: https://liudongdong1.github.io/ All datasets are subclasses of torch.utils.data.Dataset i.e, t ...
- QT从入门到入土(九)——TCP/IP网络通信(以及文件传输)
引言 TCP/IP通信(即SOCKET通信)是通过网线将服务器Server端和客户机Client端进行连接,在遵循ISO/OSI模型的四层层级构架的基础上通过TCP/IP协议建立的通讯.控制器可以设置 ...
- 【springcloud】Zuul高级配置(zuul--3)
转自:https://blog.csdn.net/pengjunlee/article/details/87285673 为路由提供HystrixFallback 当Zuul中某一个路由的断路器被断开 ...
- 十二:Servlet3.0的注解
1.@WebListener注解 表示的就是我们之前的在xml中配置的 <listener> <listener-class>ListenerClass</listene ...
- Linux命令:ps -ef |grep java
一.ps -ef |grep java 查看包含"java"的所有进程 二.涉及命令详解 ps命令将某个进程显示出来(是LINUX下最常用的也是非常强大的进程查看命令) grep命 ...