增强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把可变參数当做数组处理. 可变參数必须位于最后一项.当可变參数个数多于一个时,必将有一个不是最后一项,所以仅仅支持有一个可变參数. 可变參数的书 ...
随机推荐
- Linux命令之telnet
telnet [-8EFKLacdfrx] [-X authtype] [-b hostalias] [-e escapechar] [-k realm] [-l user] [-n tracefil ...
- cpu亲和性绑定
将进程与cpu绑定,最直观的好处就是减少cpu之间的cache同步和切换,提高了cpu cache的命中率,提高代码的效率.从cpu架构上,NUMA拥有独立的本地内存,节点之间可以通过互换模块做连接和 ...
- java 抽象方法 能用 静态 static 修饰,或者 native 修饰 么
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha static与abstract不能同时使用 用static声明方法表明这个方法在不生成类 ...
- 【找规律】【DFS】Gym - 101174H - Pascal's Hyper-Pyramids
二维下,如果把杨辉三角按照题目里要求的那样摆放,容易发现,第i行第j列的数(从0开始标号)是C(i+j,i)*C(j,j). 高维下也有类似规律,比如三维下,最后一层的数其实是C(i+j+k,i)*C ...
- session cookie的区别最全总结
作为一名WEB开发程序员,对session的理解是最基础的,但是现状是WEB程序员遍地都是,随便一划拉一大把,不过估计能把session能透彻理解的人应该不是很多,起码我之前对此是知之甚少,偶然看到的 ...
- 94.Txx考试
2894 Txx考试 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description Txx是一个成绩很差的人,考试便成了他 ...
- php读取超大文件fseek
function readMaxFile($fp , $start = 0) { $tag = "\n"; $i = 0; $content = ''; while($i < ...
- jQuery中的Ajax全局事件
Ajax全局事件 全局事件会在有ajax请求的情况下触发. 方法名称 说明 ajaxStart(callback) Ajax请求开始时执行的函数 ajaxStop(callback) Ajax请求结束 ...
- webpack与browser-sync热更新原理深度讲解
本文首发于CSDN网站,下面的版本又经过进一步的修订.原文:webpack与browser-sync热更新原理深度讲解本文包含如下内容: webpack-hot-middleware EventSou ...
- JavaScript基础入门教程(五)
说明 本系列博客的第一篇已经说明了,要求阅读者需要具有其它语言的编程基础,所以关于组数的基础部分本篇博客将不再赘述,主要讲js中数组的特性. 创建数组 数组的创建主要有两种方法,一种是数组直接量,还有 ...