Java(6) | ArrayList
# 什么是ArrayList
ArrayList是一个数组队列,相当于 动态数组。底层采用数组实现。
# 注意事项
泛型只能是引用类型,不能是基本类型
如果希望向集合arraylist中存储基本类型,必须使用基本类型对应的包装类
ArrayList中的操作不是线程安全的!所以,建议在单线程中才使用ArrayList,而在多线程中可以选择Vector或者CopyOnWriteArrayList。
# 简单使用
package com.leerep.javabase.arraylist;
import java.util.ArrayList;
public class FirstBlood {
public static void main(String[] args) {
ArrayListString list = new ArrayList();
System.out.println(list);
list.add("a");
list.add("b");
System.out.println(list);
}
}
# 数组 VS ArrayList
package com.leerep.javabase.arraylist;
/*
* 注意事项:
* 数组一旦创建在程序运行期间不可变
* ArrayList的长度可以随时改变
* */
import java.util.ArrayList;
public class ArrayVSArrayList {
public static void main(String[] args) {
Actor[] actors = new Actor[3];
actors[0] = new Actor("迪丽热巴", 20);
actors[1] = new Actor("古力娜扎", 20);
actors[2] = new Actor("玛尔扎哈", 20);
System.out.println(actors); //得到的是地址
for (int i = 0; i actors.length; i++) {
System.out.println(actors[i]); //重写toString方法后,打印对象的具体信息,不重写仍是地址值
}
ArrayListActor al = new ArrayList();
for (int i = 0; i actors.length; i++) {
al.add(actors[i]);
}
System.out.println(al); //重写toString方法后,打印对象的具体信息,不重写数组里仍是地址值
}
}
# 常用方法
package com.leerep.javabase.arraylist;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListCommonMethod {
public static void main(String[] args) {
ArrayListString arrayList = new ArrayList();
arrayList.add("l");
arrayList.add("e"); //add()函数返回值为true或者false ArrayList集合添加动作一定成功,其他集合不一定。
arrayList.add("e");
arrayList.add("e");
arrayList.add("r");
arrayList.add("e");
arrayList.add("p");
System.out.println(arrayList);
//从集合中获取元素,参数是索引
String s = arrayList.get(0);
System.out.println("集合的第一个元素是:" + s);
//获取集合长度
int l = arrayList.size();
System.out.println("集合的长度是:" + l);
//从集合中删除元素,参数是索引
String deleteValue = arrayList.remove(3);
System.out.println("删除集合的第四个元素:" + deleteValue);
System.out.println(arrayList);
//集合遍历
for (int i = 0; i arrayList.size(); i++) {
System.out.print(arrayList.get(i) + "\t");
}
System.out.println();
for (String temp :
arrayList) {
System.out.print(temp + "\t");
}
System.out.println();
for (Iterator iter = arrayList.iterator(); iter.hasNext(); ) {
System.out.println("next is: " + iter.next());
}
//判断集合是否为空
if(arrayList.isEmpty())
System.out.println("集合为空");
else
System.out.println("集合非空");
//克隆集合 浅拷贝
ArrayListString al = (ArrayListString) arrayList.clone();
System.out.println(al);
//清空集合
arrayList.clear();
System.out.println(arrayList);
}
}
Java(6) | ArrayList 相关文章
小黄鸭系列java基础知识 | 基础语法:流程控制
基础语法:流程控制 前言 今天我们要探讨的是 java 的流程控制,流程简单来说就是就是做一件事的步骤,比如我们要创建一个 java 项目,第一步打开 ide 工具,第二步创建项目,第三步创建类,这就是一个流程,今天分享的就是 java 的流程控制语句,当然,对于
4.5 类型转换
4.5 类型转换 由于 Java 是强类型语言,所以要进行有些运算的时候,需要用到类型转换 graph LRA(低)....-B(高)C(byte,short,char)--D(int)--E(long)--F(float)--G(double) 运算中,不同类型的数据先转换为同一类型,然后进行运算 强制类型转换(高→低) pub
前端修仙之路-五、JavaScript原型初学者指南(1)
在JavaScript的世界中,万物皆对象。如果不处理对象,您将无法在JavaScript中走得很远。 它们是JavaScript编程语言几乎所有方面的基
Java根据视频的URL地址,获取视频时长
参考大佬的博客https://www.cnblogs.com/yoyoyu/p/14255264.html,可以不用下载视频而获取视频时长。 第一步:先引入Maven依赖 dependencies !-- jave核心包 -- dependency groupIdws.schild/groupId artifactIdjave-core/artifactId version2.4.6/version /
java基础课堂随记6
循环结构 while循环 do...while循环 for循环 在Java5中引入了一种主要用于数组的增强型for循环 while循环 while是最基本的循环,结构为: while(布尔值){ //循环内容} 只要布尔值为true,循环就会一直执行下去。 大多数情况是要让循环停止下来的,所以需要一
从问题入手,深入了解JavaScript中原型与原型链
从问题入手,深入了解JavaScript中原型与原型链 前言 开篇之前,我想提出3个问题: 新建一个不添加任何属性的对象为何能调用toString方法 如何让拥有相同构造函数的不同对象都具备相同的行为 instanceof关键字判断对象类型的依据是什么 要是这3个问题都能回
java单元测试之Mock静态方法
1. public final class AmountUtil { public static String CustomFormatWith2Digits(int amount) { return "1"; }} 2.引入依赖 dependency groupIdorg.mockito/groupId artifactIdmockito-core/artifactId version1.10.19/version scopetest/scope /depende
java8-Stream filter操作:多个List取并集
在项目中很容易遇到那种需要取并集或者交集的情况。 如果按照传统的方式,使用for循环嵌套for循环来操作,也可以实现。但是代码看起来没有那么优雅。 Java8提供了Stream的操作。 例如简单的递归查找。 根据当前的分类找到相对应的所有子级对象。 如果使用传
Java ArrayList源码分析(含扩容机制等重点问题分析)
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解。所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项目,专注 Java 后端面试题 + 解析 + 重点知识详解 + 精选
Redis持久化 - RDB和AOF
一、持久化的作用 1. 什么是持久化 持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。 持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。 2. 持久化的实现方式 快照方式持久化 快照方式持久