java的ArrayList

基础知识:

  • ArrayList集合长度可以发生改变
  • 泛型
  • 自动装箱和自动拆箱

部分常用的接口方法

  • boolean add(E obj)
  • E add(int index,E obj)
  • E get(int index)
  • void set(int index,E obj)
  • E remove(int index)
  • int size()
  • remove(E obj)

泛型

  • 泛型即所操作的数据类型在定义时被指定为一个参数。当我们使用的时候给这个参数指定不同的对象类型,就可以处理不同的对象。

包装类型的自动装箱和自动拆箱

ArrayList集合只能存储引用数据类型,如果要使用基本数据类型,就需要使用基本数据类型的包装类

基本数据类型 对应的包装类
byte Byte
short Short
int Integer
long Long
double Double
char Character
boolean Boolean
package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<Integer> list =new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
System.out.println(list);
int two=list.get(1);
System.out.println(two);
}
}

从jdk 1.5+开始,支持自动装箱,自动拆箱

自动装箱:基本类型 --> 包装类型

自动拆箱:包装类型 --> 基本类型

boolean add(E obj)

将指定的元素追加到此列表的末尾。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
boolean isTrue=list.add("张三");
System.out.println(list);
System.out.println("是否添加成功:"+isTrue);
}
}

E add(int index,E obj)

在此列表中的指定位置插入指定的元素。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("张三");
list.add("王五");
list.add(1,"赵六");
System.out.println(list);
}
}

E get(int index)

返回此列表中指定位置的元素。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("张三");
list.add("王五");
list.add("赵六");
String name=list.get(1);
System.out.println(list);
System.out.println(name);
}
}

void set(int index,E obj)

用指定的元素替换此列表中指定位置的元素。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("张三");
list.add("王五");
System.out.println(list);
list.set(1,"赵六");
System.out.println(list);
}
}

E remove(int index)

删除该列表中指定位置的元素。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("张三");
list.add("王五");
list.add("赵六");
System.out.println(list);
list.remove(1);
System.out.println(list);
}
}

int size()

返回此列表中的元素数。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("张三");
list.add("王五");
list.add("赵六");
System.out.println(list.size());
}
}

remove(E obj)

从列表中删除指定元素的第一个出现(如果存在)。

package top.uaoie.day03.demo01;
import java.util.ArrayList;
public class DemoArrayList {
public static void main(String[] args) {
ArrayList<String> list =new ArrayList<>();
list.add("张三");
list.add("王五");
list.add("王五");
list.add("赵六");
System.out.println(list);
boolean isTrue01 =list.remove("王五");
boolean isTrue02 =list.remove("不存在的人");
System.out.println("是否删除王五成功"+isTrue01);
System.out.println("是否删除不存在的人成功"+isTrue02);
System.out.println(list);
}
}

简述java的ArrayList的更多相关文章

  1. 解决springmvc报No converter found for return value of type: class java.util.ArrayList问题

    一.背景 最近闲来无事,想自己搭建一套Spring+SpringMVC+Mybatis+Mysql的环境(搭建步骤会在以后博客中给出),结果运行程序时,适用@ResponseBody注解进行返回Lis ...

  2. java 遍历arrayList的四种方法

    package com.test; import java.util.ArrayList;import java.util.Iterator;import java.util.List; public ...

  3. 初涉java库--ArrayList

    我的车就差一个轮子啦,造好轮子,我就飞上天与太阳肩并肩啦,想想都激动.什么你要自己造轮子,是不是傻,商店里不都是别人造好的吗,又好又方便,只需一点money,你没有money,那你只能做个安静的美男子 ...

  4. java集合-- arraylist小员工项目

    import java.io.*; import java.util.ArrayList; public class Emexe { public static void main(String[] ...

  5. java 16-2 ArrayList的练习2

      需求:去除集合中自定义对象的重复值(对象的成员变量值都相同 注意: 我们按照和字符串一样的操作,发现出问题了. 为什么呢? 我们必须思考哪里会出问题? 通过简单的分析,我们知道问题出现在了判断上. ...

  6. java 16-1 ArrayList的练习1

    需求: ArrayList去除集合中字符串的重复值(去掉相同的字符串) 分析: 第一种做法:创建一个新的空集合: A:创建1个具有相同字符串的集合 B:创建1个空的集合 C:遍历第一个集合里面的元素 ...

  7. Java.util.ArrayList详解

    java.util.ArrayList就是传说中的动态数组. 继承了关系,有此可看出ArrayList与list的collection的关系 public class ArrayList<E&g ...

  8. Java基础-ArrayList和LinkedList的区别

    大致区别:  1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构. 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为Lin ...

  9. java中ArrayList 、LinkList区别

    转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...

随机推荐

  1. asp.net core 3.x Endpoint终结点路由1-基本介绍和使用

    前言 我是从.net 4.5直接跳到.net core 3.x的,感觉asp.net这套东西最初是从4.5中的owin形成的.目前官方文档重点是讲路由,没有特别说明与传统路由的区别,本篇主要介绍终结点 ...

  2. Appium+Pytest实现app并发测试

    前言 这个功能已经写完很长时间了,一直没有发出来,今天先把代码发出来吧,有一些代码是参考网上写的,具体的代码说明今天暂时先不发了,代码解释的太详细还得我花点时间^_^, 毕竟想让每个人都能看明白也不容 ...

  3. 王雅超的学习笔记-大数据hadoop集群部署(十)

    Spark集群安装部署

  4. Centos7源码编译安装mysql8

    前面介绍了很多关于mysql的文章,下面主要介绍一下mysql8的源码编译安装 一 基本环境 [root@CentOS-7-x86-64-Minimal-1810 ~]# cd /usr/local/ ...

  5. 【他山之石】IntelliJ Idea 内存设置

    最近一次使用idea,删掉target目录内容,准备让项目重新编译的时候,整个mac系统崩溃然后黑屏重启了.紧接着就是重启后自动恢复原先打开的程序,结果再次黑屏重启.最开始以为是系统问题,还怀疑过最近 ...

  6. docker网络类型访问原理

    • bridge –net=bridge 默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中. • host –net=host 容器不会获得一个独立的netw ...

  7. $tarjan$简要学习笔记

    $QwQ$因为$gql$的$tarjan$一直很差所以一直想着要写个学习笔记,,,咕了$inf$天之后终于还是写了嘻嘻. 首先说下几个重要数组的基本定义. $dfn$太简单了不说$QwQ$ 但是因为有 ...

  8. HelloTalk 基于 OpenResty 的全球化探索之路

    2019 年 12 月 14 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 广州站活动,HelloTalk, Inc. 后台技术负责人李凌 ...

  9. 从零开始学asyncio(上)

    这篇文章主要是介绍生成器和IO多路复用机制, 算是学习asyncio需要的预备知识. 这个系列还有另外两篇文章: 从零开始学asyncio(中) 从零开始学asyncio(下) 一. 简单爬虫实例 首 ...

  10. Spark设置Kryo序列化缓冲区大小

    背景 今天在开发SparkRDD的过程中出现Buffer Overflow错误,查看具体Yarn日志后发现是因为Kryo序列化缓冲区溢出了,日志建议调大spark.kryoserializer.buf ...