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)这些类(数据结构)用来存储和操作对象组.虽然这些 ...
随机推荐
- Bash中的空格
空格,一个看不见的字符,很不起眼,很多人经常忽略它,导致代码出错,却还找不着北. 先了解下bash中什么时候该用空格,什么时候不该用. . 等号赋值两边不能有空格 . 命令与选项之间需要空格 . 管道 ...
- rownum浅析
对于 Oracle 的 rownum 问题,非常多资料都说不支持>.>=.=.between...and,仅仅能用以上符号(<.<=.!=),并不是说用>, >=, ...
- 从request获取各种路径总结
一.获得都是当前运行文件在服务器上的绝对路径 在servlet里用: this.getServletContext().getRealPath() 在struts用: this.getServlet( ...
- Python unittest 参数化
准备工作: pip install nose_parameterized 典型场景:用户名.密码参数化 实例 1,新建一个ftl.py 文件 ,用来将存在于.txt .xlsx 文件中的参数化数据转 ...
- PHP命名空间规则解析及高级功能
日前发布的PHP .3中,最重要的一个新特性就是命名空间的加入.本文介绍了PHP命名空间的一些术语,其解析规则,以及一些高级功能的应用,希望能够帮助读者在项目中真正使用命名空间. 在这里中我们介绍了P ...
- make——五谷杂粮
- sql命令大全
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- TCP/IP模型
TCP/IP是一组用在实现网络相互连接的通信协议,internet网络体系结构就是以TCP/IP为核心的. TCP/IP分成了四个层次 1.应用层 应用层对应与OSI参考模型的高层,为用户提供了所需要 ...
- TCP/IP详解读书笔记:概述
分层 分层是一种很通用的架构模式.通过分层,可以把一个系统分解成多个层,每个层专注于各自的功能,并提供接口给上面的层调用.上面的层不需要了解调用层的详细实现,只依赖于其接口,这就给维护带来了很大的好处 ...
- 开发高性能的MongoDB应用—浅谈MongoDB性能优化
关联文章索引: 大数据时代的数据存储,非关系型数据库MongoDB 性能与用户量 “如何能让软件拥有更高的性能?”,我想这是一个大部分开发者都思考过的问题.性能往往决定了一个软件的质量,如果你开发的是 ...