增强for循环、Map接口遍历、可变參数方法
增强for循环
1.for循环能做得事情。增强for循环大部分都能做(假设要想获得下标的时候就必须使用简单for循环了)
2.增强for有时候可以方便的处理集合遍历的问题,可是集合的标准遍历是使用迭代器
3.在集合框架中体现出了它的强大之处
Map接口遍历
Map接口的遍历:
1.第一种方法 使用map.values()方法。先把value的值都放在一个Collection集合中。
2.另外一种方法 使用map.entrySet()方法(推荐使用)
3.第三种方法 使用map.keySet()方法
事实上对于Map接口进行遍历操作是非常少的,通常对其都是进行查询操作。
遍历Map接口中的value的三种方法代码操作
System.out.println("=========第一种方法========");
// 怎样迭代map内容
// 第一种方法 使用map.values()方法,先把value的值都放在一个Collection集合中。
Collection<Person> collections = map.values();
for (Person person : collections) {
System.out.println(person);
}
// 另外一种方法 使用map.entrySet()方法(最为推荐的方法)
System.out.println("=========另外一种方法========");
// Set<Entry<String, Person>> set=map.entrySet();
for (Entry<String, Person> entry : map.entrySet()) {
System.out.println(entry.getValue());
}
System.out.println("=========第三种方法========");
// 第三种方法 使用map.keySet()方法
//Set<String> keySet=map.keySet();
for (String key : map.keySet()) {
System.out.println(key);
System.out.println(map.get(key));
}
可变參数
可变參数(比較简单可是比較有用的小技巧)
可变參数的出现方便了程序的开发
Object...args
String...args
格式为:(数据类型。
。。參数名(能够任意取得))
增强for循环的有一个缺点:失去了下标索引的信息。
自己主动装箱和自己主动拆箱(是针对8个原生数据类型和相应的封装类型)
自己主动装箱:int >>Integer
自己主动拆箱:Integer>>int
<T> 泛型中的T不要使用原生数据类型来定义
可变參数。还是挺实用的一个小功能 type...args,可变參数一定要定义才參数列表中最后一个位置。事实上側面也反应了一个问题:一个方法中最多仅仅能有一个可变參数。
事实上可变參数本质是一个数组
比如:Object...args 实际參数能够这么写:new Object[]{x,y,z}
增强for循环、Map接口遍历、可变參数方法的更多相关文章
- c 语言函数可变參数的处理
/************************************************************************* > File Name: va_list.c ...
- OC可变參数的函数实现va_start、va_end、va_list的使用
一.简单介绍 我们常常在编程的时候看见类似这种代码,如图1.1 图1.1 或者是这种可变參数,如图1.2 图1.2 二.基本知识介绍 在学习怎样写这样的格式的函数前,先简介几个经常使用的宏: 下面摘自 ...
- java 可变參数列表
Java SE5加入了可变參数列表特性 參数能够这样定义.(Object-args).可变參数用"..."来定义,args是可变參数的数组.举个样例: package sample ...
- java课堂练习之可变參数与卫条件
/* 有人邀请A,B,C,D,E,F 6个人參加一项会议,这6个人有些奇怪.由于他们有非常多要求,已知: 1)A,B两人至少有1人參加会议: 2)A,E,F 3人中有2人參加会议. 3)B和C ...
- iOS 处理方法中的可变參数
## iOS 处理方法中的可变參数 近期写了一个自己定义的对话框的demo,想模仿系统的UIAlertView的实现方式.对处理可变參数的时候,遇到了小问题,于是谷歌了一下.写下了处理问题的方法.记录 ...
- Effective JavaScript Item 21 使用apply方法调用函数以传入可变參数列表
本系列作为Effective JavaScript的读书笔记. 以下是一个拥有可变參数列表的方法的典型样例: average(1, 2, 3); // 2 average(1); // 1 avera ...
- C语言利用va_list、va_start、va_end、va_arg宏定义可变參数的函数
在定义可变參数的函数之前,先来理解一下函数參数的传递原理: 1.函数參数是以栈这样的数据结构来存取的,在函数參数列表中,从右至左依次入栈. 2.參数的内存存放格式:參数的内存地址存放在内存的堆栈段中, ...
- java 可变參数
我们在某些特定的需求环境下,可能要对某一个方法中的參数进行一些操作,并且这些方法中的參数是不规定的,那么问题来了,我们该怎么办呢? java事实上就为我们考虑了这样的情况,那就是使用可变參数 可变參数 ...
- java之 ------ 可变參数和卫条件
可变參数:适用于參数个数不确定.类型确定的情况,java把可变參数当做数组处理. 可变參数必须位于最后一项.当可变參数个数多于一个时,必将有一个不是最后一项,所以仅仅支持有一个可变參数. 可变參数的书 ...
随机推荐
- If you want to allow applications containing errors to be published on the server
If you want to allow applications containing errors to be published on the server, enable the Allow ...
- MTK平台源码 mt6589-jb3-x_20131122
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha
- 【推导】AtCoder Regular Contest 082 D - Derangement
题意:给你一个排列a,每次可以交换相邻的两个数.让你用最少的交换次数使得a[i] != i. 对于两个相邻的a[i]==i的数,那么一次交换必然可以使得它们的a[i]都不等于i. 对于两个相邻的,其中 ...
- 课堂作业-Bag类的实现
课堂作业-Bag类的实现 要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进 ...
- [CodeForces-759D]Bacterial Melee
题目大意: 有一串n个字母,每个位置的字母可以同化边上的一个字母, 比如:ab可以变成aa或者bb. 相对的两个同化不能同时发生,比如ab不能变成ba. 现在给你一个字符串,问你经过任意次数的同化过程 ...
- JVM命令-java服务器故障排查
一.top(Linux命令) 执行top命令: (查看进程15477的详细情况,下文用到) 系统信息(前五行): 第1行:Top 任务队列信息(系统运行状态及平均负载),与uptime命令结果相 ...
- 最近公共祖先 LCA 倍增法
[简介] 解决LCA问题的倍增法是一种基于倍增思想的在线算法. [原理] 原理和同样是使用倍增思想的RMQ-ST 算法类似,比较简单,想清楚后很容易实现. 对于每个节点u , ancestors[u] ...
- Android Activtity Security(转)
Android四大组件之一--Activity安全详解. 原帖地址:http://drops.wooyun.org/tips/3936 0x00 科普 Android每一个Application都是由 ...
- 一劳永逸的搞定 flex 布局
一劳永逸的搞定 flex 布局 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平.垂直同时居中.记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮, ...
- 用Hexo搭建属于自己的iOS技术博客,搬家了
搬家了,本来还打算在博客园混一段时间的,可是当我看到Hexo的时候,已经难以抵挡它的诱惑,简单不简约的界面让我花了整整一天的时间,买域名的过程中发生一点小问题导致DNS解析错误了,但还是成功了.欢迎朋 ...