Java 集合框架之 JDK 1.5 新特性
forEach 循环
- 多用于元素迭代.
- 适用范围:
- 数组
- 实现 Iterable 接口的集合类 - 格式:
for(类型 变量 : Collection 集合 | 数组)
{
}
- 传统 for 和 高级 for 的区别:
- 传统 for 可以完成对语句执行很多次, 因为可以控制循环的增量和条件
高级 for 是一种简化形式, 它必须有被遍历的目标, 该目标要么是数组, 要么是 Collection 单列集合 - 对于数组的遍历, 如果仅仅是获取数组中的元素, 可以使用 高级 for;
如果要对数组的角标进行操作, 建议使用传统 for
- 传统 for 可以完成对语句执行很多次, 因为可以控制循环的增量和条件
// 示例:
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("abc2");
list.add("abc3");
// 高级 for
for(String str : list){
System.out.println(str);
}
// 遍历 map 集合
Map<Integer, String> map = new HashMap<Integer, String>();
map.put(3,"zhangsan");
map.put(14,"xiaoqiang");
map.put(22,"wangcai");
map.put(11,"abc");
for(Integer key : map.keySet()){
String value = map.get(key);
System.out.println(key+":"+value);
}
for(Map.Entry<Integer,String> me : map.entrySet()){
Integer key = me.getKey();
String value = me.getValue();
System.out.println(key+"...."+value);
}
函数可变参数
- 可变参数其实就是一个数组,但是接收的是数组的元素,自动将这些元素封装成数组,
简化了调用者的书写. - 注意: 可变参数类型, 必须定义在参数列表的结尾.
// 求多个数的和
public static void main(String[] args){
// 求两个数的和
int sum = add(4, 5);
System.out.println("sum= "+sum);
// 求三个数的和
int sum = add(2,5,7);
System.out.println("sum="+sum);
}
public static int add(int a, int b){
return a+b;
}
public static int add(int a, int b, int c){
return a+b+c;
}
// 升级, 可变参数原理:
public static int add(int[] arr){
int sum = 0;
for(int i = 0; i<arr.length; i++){
sum += arr[i];
}
return sum;
}
public static int add(int... arr){ // 可变参数
int sum = 0;
for(int i = 0; i < arr.length; i++){
sum += arr[i];
}
return sum;
}
静态导入
- 导入类中的静态成员, 例如:
import static java.util.Collections.sort
参考资料 - JavaSE 基础视频(毕向东)
- JDK 1.6 中文文档
Java 集合框架之 JDK 1.5 新特性的更多相关文章
- java集合框架容器 java框架层级 继承图结构 集合框架的抽象类 集合框架主要实现类
本文关键词: java集合框架 框架设计理念 容器 继承层级结构 继承图 集合框架中的抽象类 主要的实现类 实现类特性 集合框架分类 集合框架并发包 并发实现类 什么是容器? 由一个或多个确 ...
- Java集合框架——jdk 1.8 ArrayList 源码解析
前言:作为菜鸟,需要经常回头巩固一下基础知识,今天看看 jdk 1.8 的源码,这里记录 ArrayList 的实现. 一.简介 ArrayList 是有序的集合: 底层采用数组实现对数据的增删查改: ...
- java集合框架之java HashMap代码解析
java集合框架之java HashMap代码解析 文章Java集合框架综述后,具体集合类的代码,首先以既熟悉又陌生的HashMap开始. 源自http://www.codeceo.com/arti ...
- [转]Java - 集合框架完全解析
数据结构是以某种形式将数据组织在一起的集合,它不仅存储数据,还支持访问和处理数据的操作.Java提供了几个能有效地组织和操作数据的数据结构,这些数据结构通常称为Java集合框架.在平常的学习开发中,灵 ...
- java 集合框架(二)Iterable接口
Iterable接口是java 集合框架的顶级接口,实现此接口使集合对象可以通过迭代器遍历自身元素,我们可以看下它的成员方法 修饰符和返回值 方法名 描述 Iterator<T> iter ...
- java 集合框架(一)概述
一.概述 Java Collection Framework (JCF) 提供给我们一系列的类和接口,方便开发者处理集合对象. 在Java 2之前,Java是没有完整的集合框架的.它只有一些简单的可以 ...
- 【java集合框架源码剖析系列】java源码剖析之HashMap
前言:之所以打算写java集合框架源码剖析系列博客是因为自己反思了一下阿里内推一面的失败(估计没过,因为写此博客已距阿里巴巴一面一个星期),当时面试完之后感觉自己回答的挺好的,而且据面试官最后说的这几 ...
- Java集合框架体系JCF
Java 集合框架体系作为Java 中十分重要的一环, 在我们的日常开发中扮演者十分重要的角色, 那么什么是Java集合框架体系呢? 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一 ...
- Java 集合框架(常用数据结构)
早在Java 2中之前,Java就提供了特设类.比如:向量(Vector).栈(Stack).字典(Dictionary).哈希表(Hashtable)这些类(数据结构)用来存储和操作对象组.虽然这些 ...
随机推荐
- 如何让sublime text 2/3支持中文编码
由于每个编辑器默认编码格式不一样,所以大致在一些编辑器中编辑的代码注释在另外一些编辑器中出现乱码.在sourceinsight里面编辑的中文在sublime text3中出现乱码,所以上网找了一下解决 ...
- android - px(像素)、dpi(像素密度)、dip(密度无关像素)之间的关系
使用ImageView会遇到的问题 在Android应用中,都少不了图片的显示,ImageView,轮播图,ViewPager等等,很多都是来显示图片的,很多时候,我们都希望图片能够在宽度上填充父窗体 ...
- JS根据时间内容分组代码
let newArr = []; res.data.data.forEach((address, i) => { let index = -1; let newDates = Date.pars ...
- Linux_Command
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # ho ...
- linux学习笔记24---命令grep
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是global search regular expression(RE) and ...
- JAVA设置HttpOnly Cookies
HttpOnly Cookies是一个cookie安全行的解决方案. 在支持HttpOnly cookies的浏览器中(IE6+,FF3.0+),如果在Cookie中设置了"HttpOnly ...
- 页面表单里的图片上传ENCTYPE="multipart/form-data"
ENCTYPE="multipart/form-data"用于表单里有图片上传. <form action="<%=basePath %>asyUplo ...
- kubernetes和calico集成
硬件环境: 三台虚拟机: 192.168.99.129 master(kube-apiserver.kube-controller-manager.kube-proxy.kube-scheduler. ...
- google pr值查询接口
PR(全称PageRank)是Google衡量一个网站的重要标准之一,从而影响Google搜索结果排名.Google官方提供了查询PR的API,如本站PR值:http://toolbarqueries ...
- Storm系统架构以及代码结构学习
转自:http://blog.csdn.net/androidlushangderen/article/details/45955833 storm学习系列:http://blog.csdn.net/ ...