ArrayList集合的特点和几种遍历方法
public class temp {
public static void main(String[] args)throws Exception {
ArrayList 在定义时长度为空 ,在新增数据时默认长度为10, 当长度超过10的时候 ,增长因子数为0.5倍,向下取整数
ArrayList arr=new ArrayList();
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
arr.add("e");
arr.add("f");
System.out.println(arr.size());
遍历方式
A.下标输出方式
for(int i=0; i<arr.size();i++) {
System.out.println(arr.get(i));
}
B.foreach输出(>=jdk1.5)
for (Object o : arr) {
System.out.println(o);
}
C.1.8jdk的语法糖
arr.forEach(a->System.out.println(a));
System.out.println("----------迭代器");
D.迭代器
Iterator it=arr.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
ArrayList arr=new ArrayList(5);
for(int i=0;i<20;i++) {
print(arr);
arr.add(i);
}
ArrayList arr=new ArrayList(5);
arr.add("a");
arr.add("b");
arr.add("c");
arr.add("d");
arr.add("e");
ListIterator list=arr.listIterator();
1 读取下一个记录
A. hasNext() 是否存在下一个记录
B. Next() 取值
向下读取
while(list.hasNext()) {
System.out.println(list.next());
}
// 2 读取上一个记录
//A. hasPrevious() 是否存在上一个记录
//B. Previous() 取值
//向上读取
while(list.hasPrevious()) {
System.out.println(list.previous());
}
//栈 是一个车厢 最大容量 3M
//堆 是一个火车 将内存中零散的空间组成的一张链式表格
//实现自定义的栈 mystack
}
// 3 查看List源代码,ArrayList源代码
//使用反射查看属性:
static void print(ArrayList arraylist) throws Exception {
Class c=arraylist.getClass();
Field elementData=c.getDeclaredField("elementData");
elementData.setAccessible(true);
Object[] objects=(Object[])elementData.get(arraylist);
System.out.println(objects.length);
}
}
ArrayList集合的特点和几种遍历方法的更多相关文章
- 2017.10.25 Java List /ArrayList 三种遍历方法
java list三种遍历方法性能比较 学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入记录,然后遍历ArrayList,测试代码如下: pac ...
- java 集合之HashMap的三种遍历
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射. 这周我们只需记住三种遍历方法 1.通过keySet()获取键,再利用hashmap里面的.get(key)方法通过键获取 ...
- Java List /ArrayList 三种遍历方法
java list三种遍历方法性能比较http://www.cnblogs.com/riskyer/p/3320357.html JAVA LIST 遍历http://blog.csdn.net/lo ...
- javase-常用三种遍历方法
javase-常用三种遍历方法 import java.util.ArrayList; import java.util.Iterator; import java.util.List; public ...
- Jquery中each的三种遍历方法
Jquery中each的三种遍历方法 $.post("urladdr", { "data" : "data" }, function(dat ...
- java 完全二叉树的构建与四种遍历方法
本来就是基础知识,不能丢的太干净,今天竟然花了那么长的时间才写出来,记一下. 有如下的一颗完全二叉树: 先序遍历结果应该为:1 2 4 5 3 6 7 中序遍历结果应该为:4 2 5 ...
- map的三种遍历方法!
map的三种遍历方法! 集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ /* * To change this template, choose Tools | Te ...
- HashMap有几种遍历方法?推荐使用哪种?
本文已收录<面试精选>系列,Gitee 开源地址:https://gitee.com/mydb/interview HashMap 的遍历方法有很多种,不同的 JDK 版本有不同的写法,其 ...
- Java中Map的三种遍历方法
Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
随机推荐
- YTU 2411: 谁去参加竞赛?【简单循环】
2411: 谁去参加竞赛?[简单循环] 时间限制: 1 Sec 内存限制: 64 MB 提交: 461 解决: 261 题目描述 学校要举办大学生程序设计竞赛,老师要求期末考试成绩在平均成绩以上的 ...
- 进程、轻量级进程(LWP)、线程
进程.轻量级进程(LWP).线程 进程:程序执行体,有生命期,用来分配资源的实体 线程:分配CPU的实体. 用户空间实现,一个线程阻塞,所有都阻塞. 内核实现,不会所用相关线程都阻塞.用LWP实现,用 ...
- Mediaproxy 与 Rtpproxy
Mediaproxy: Mediaproxy是Opensips的一个模块,它用来实现现有大多数sip客户端的自动NAT穿透.这就意味着,当使用mediaproxy模块时,不需要对NAT盒子进行任何配置 ...
- .NETFramework-Drawing:Font
ylbtech-.NETFramework-Drawing:Font 1.返回顶部 1. #region 程序集 System.Drawing, Version=4.0.0.0, Culture=ne ...
- 关于CentOS 7安装jdk1.8
安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装. ...
- ==和equals()的不同点
两者都可以用于对象的比较."=="用于比较两个对象的内存地址值(引用值)是否相等,equals()方法用于比较两个对象的内容是否一致. String str1 = new Stri ...
- Marching squares 算法 获取轮廓(contour tracing)
https://en.wikipedia.org/wiki/Marching_squares http://blog.csdn.net/coolingcoding/article/details/1 ...
- bzoj 1089: [SCOI2003]严格n元树【dp+高精】
设f[i]为深度为i的n元树数目,s为f的前缀和 s[i]=s[i-1]^n+1,就是增加一个根,然后在下面挂n个子树,每个子树都有s[i-1]种 写个高精就行了,好久没写WA了好几次-- #incl ...
- bzoj 2178 圆的面积并【simpson积分】
直接套simpson,f可以直接把圆排序后扫一遍所有圆,这样维护一个区间就可以避免空段. 然而一定要去掉被其他圆完全覆盖的圆,否则会TLE #include<iostream> #incl ...
- 洛谷 P3357 最长k可重线段集问题【最大流】
pre:http://www.cnblogs.com/lokiii/p/8435499.html 和最长k可重区间集问题差不多,也就是价值的计算方法不一样,但是注意这里可能会有x0==x1的情况也就是 ...