ArrayList 集合的几种遍历的方法
ArrayList 集合 也可称作动态数组(长度可变),在新建的时候是没有默认长度的,在新增数据长度小于10的时候,ArrayList 的长度会自动设置为10
//了解更多可以按住Ctrl 再点击你需要查看的方法或者类名, 查看List源代码,ArrayList源代码
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");
System.out.println(arr.size()); //ArrayList 集合可以有重复对象
System.out.println("-------下标输出方式");
//下标输出方式
for(int i=0;i<arr.size();i++) {
System.out.println(arr.get(i));
}
System.out.println("-------foreach输出(jdk>1.5)");
//foreach输出(jdk>=1.5)
for(Object o:arr) {
System.out.println(o);
}
System.out.println("-------jdk1.8的语法糖");
//jdk1.8语法糖
arr.forEach(x->System.out.println(x));
System.out.println("-------jdk1.8的迭代器");
//迭代器
Iterator it=arr.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
ArrayList arr= new ArrayList();
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();
System.out.println("----------------下");
while(list.hasNext()) {
System.out.println(list.next());
}
System.out.println("----------------上");
while(list.hasPrevious()) {
System.out.println(list.previous());
}
//栈 可以比喻成一个车厢 最大的容量 3M
//堆 可以比喻成一个火车 将内存中的零散的空间组成的一张链式表格
//实现自定义的栈 mystack
}
//使用反射查看属性
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 集合的几种遍历的方法的更多相关文章
- Java中List集合的三种遍历方式(全网最详)
List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍. 我总结了三种List集合的遍历方式,下面一一来介绍. 首 ...
- ArrayList集合概述和基本使用和ArrayList集合的常用方法和遍历
什么是ArrayList类 java.util.ArrayList 是大小可变的数组的实现,存储在内的数据称为元素.此类提供一些方法来操作内部存储 的元素. ArrayList 中可不断添加元素,其大 ...
- Map集合的两种遍历方式
Map集合:即 接口Map<K,V> map集合的两种取出方式: 1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中) ...
- Map集合的几种遍历方式
Map<String ,String> map=new HashMap<String,String>(); map.put("1","value1 ...
- Map集合的四种遍历方式
很久以前写的代码,和上一个做比较吧!便于以后查看 import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- List 三种遍历的方法
学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入1千万条记录,然后遍历ArrayList,发现了一个奇怪的现象,测试代码如下: package ...
- Java数组、集合的三种遍历方式(包懂)
1 for循环 for(int i = 0;i<arr.length;i++){ System.out.print(arr[i]+" "); } 2 foreach循环,这种 ...
- Map集合的四种遍历方式(转载)
import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestMap { pu ...
- Map集合的4种遍历方式
import java.util.HashMap;import java.util.Iterator;import java.util.Map; public class TestMap { p ...
随机推荐
- TypeScript之函数
1.函数声明 与javascript一样,ts的函数声明也分为两种:函数声明,函数表达式 1)函数声明: function fn(age:number):string{ return `age is ...
- Asp.netMVC中Ajax.BeginForm上传文件
做一个上传并解压的功能,解压完了回调,解压多少文件.搞了半天用Ajax.BeginForm.各种坑,后来直接放弃 @using (Ajax.BeginForm("UploadFile&quo ...
- SpirngBoot--错误消息的定制
在SpringBoot中发生了4xx 5xx之类的错误,SpringBoot默认会发一个/error的请求,该请求由BasicErrorController处理,即在SpringBoot中错误处理也是 ...
- @PostConstruct使用总结
https://blog.csdn.net/qq_37636695/article/details/84791468 https://www.jianshu.com/p/aba99a49a459 @P ...
- Oracle---使用日常
一.union和union all union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复. Union因 ...
- C# 中关于重载与重写的区别及用法
1.重载(overload): 在同一个作用域(一般指一个类)的两个或多个方法函数名相同,参数列表不同的方法叫做重载,它们有三个特点(俗称两必须一可以): 方法名必须相同 参数列表必须不相同 返回值类 ...
- Java Web 深入分析(12) JVM(2) 垃圾收集与内存分配
前言 java的内存分配和垃圾回收往往是影响系统性能和并发能力的主要因素,虚拟机提供许多的参数就是为了根据不同环境和请教下进行调优,没有最好的调优也没有固定的调优.需要我们深入的去了解jvm的各个垃圾 ...
- 12.1 Mapping手动创建
只能在index里的field不存在的时候,才能指定新field的数据类型,field有数据后,就不能再修改field的类型了 可创建的类型如下: integer double date text/s ...
- Keepalived简单理解
Keepalived Keepalived是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障.一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTE ...
- Objective-C和 C++ 混编的要点
Using C++ With Objective-C苹果的Objective-C编译器允许用户在同一个源文件里自由地混合使用C++和Objective-C,混编后的语言叫Objective-C++.有 ...