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循环遍历. 告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...
随机推荐
- 洛谷P2943 清理——DP
题目:https://www.luogu.org/problemnew/show/P2943 一眼看去就有个 n^2 的做法:f[i] = min{ f[j] + num( i - j ) * num ...
- 优化Laravel的分页LIMIT和OFFSET调用
在分页系统中使用limit和offset是很常见的,它们通常也会和ORDER BY一起使用.索引对排序较有帮助,如果没有索引就需要大量的文件排序. 一个常见的问题是偏移量很大,比如查询使用了LIMIT ...
- error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR”
vs2008提示 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [17]”转换为“LPCTSTR” 在外面用vs2005编写mfc程序的 ...
- bzoj 2326: [HNOI2011]数学作业【dp+矩阵快速幂】
矩阵乘法一般不满足交换律!!所以快速幂里需要注意乘的顺序!! 其实不难,设f[i]为i的答案,那么f[i]=(f[i-1]w[i]+i)%mod,w[i]是1e(i的位数),这个很容易写成矩阵的形式, ...
- mysql查询流程
首先是连接器 连接器负责跟客户端来链接 链接成功后 mysql会先去查询缓存,之前是不是有查询的这条语句,之前执行过的话 就会以key-value的形式缓存到内存中,如果没有就会继续执行后面的,执行完 ...
- vi 和vim中的查找和替换
查找 命令模式输入 : /the-string-you-want-to-lookup 替换 命令模式输入 : s /from/to/
- /bin,/sbin,/usr/sbin,/usr/bin 目录之简单区别
/bin,/sbin,/usr/sbin,/usr/bin 目录 这些目录都是存放命令的,首先区别下/sbin和/bin: 从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown, ...
- C/C++带有空格的字符串输入
一.带有空格的字符串输入 (一)C++篇 1. 针对字符数组而言 方法一 getline() 读入整行数据,使用回车键输入换行符来确定输入结尾. 调用方法: cin.getline(str,len) ...
- C plus plus sprintf用法
sprintf int sprintf ( char * str, const char * format, ... ); Write formatted data to string Compose ...
- Environment中有大量访问目录的函数
public class Environment { /** * Return root of the "system" partition holding the core An ...