Java常用API(ArrayList类)

我们为什么要使用ArrayList类?

为了更加方便的储存对象,因为使用普通的数组来存储对象太过麻烦了,因为数组的一个很大的弱点就是长度从一开始就固定了,所以Java提供了另一个容器 java.util.ArrayList 集合类,让我们可以更便捷的存储和操作对象数据

什么是ArrayList?

所以从上面的介绍就可以看出所谓的ArrayList类就是一个长度可变的数组。

接下来我们来介绍ArrayList的使用:

第一步肯定是首先导包啦

java.util.ArrayList <E> :
注:
<E>:这里的E是范型的意思,意思是可以存储任意的引用数据类型,注意是引用数据类型,不是基本数据类型,那么有小伙伴就会问了,那么如果我就要存储基本数据类型呢?这里java给我们提供的包装类,(所谓包装类就是将基本数据类型包装为对象)后面我在写一篇文章展开详细的叙述

构造方法献上:

public ArrayList() :构造一个内容为空的集合。
基本格式

ArrayList<String> list = new ArrayList<String>();
jdk7之后右侧<>可以留空
ArrayList<String> list = new ArrayList<>();

下面来讲讲ArrayList的一些方法(在这里立个flag,等有时间了写几篇关于底层源码的文章)

public boolean add(E e) :将指定的元素添加到此集合的尾部。
public E remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
public E get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size():返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界
下面我们来写一段代码将上面的方法来总结一下
1 这是存储对象的代码
public class Test {
public static void main(String[] args) {
ArrayList<Person> arrayList = new ArrayList<>();
arrayList.add(new Person(18,"lisi"));
arrayList.add(new Person(19,"zhangsan"));
System.out.println(arrayList);
//获取第一个位置的元素
System.out.println(arrayList.get(0));
//移除前的大小
System.out.println("移除前的大小"+arrayList.size());
//移除第一个位置的元素
System.out.println(arrayList.remove(0));
//移除后的大小
System.out.println("移除前的大小"+arrayList.size());
}
}
package cn.itcast;

public class Person {
private int age;
private String name; @Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
} public Person(int age, String name) {
this.age = age;
this.name = name;
} public Person() {
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

注意:
要重写tostring ()方法不然打印出来的是地址值

结果

2这是存储基本数据类型的代码

package cn.itcast;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner; public class Test {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<>();
arrayList.add(10);
arrayList.add(20);
System.out.println(arrayList);
}
}

结果

有同学可能会问,你不是说包装成对象了吗,怎么又直接输出了,这里是因为java帮我们自动拆箱了,我后面再写一篇关于

包装类的文章详细展开叙述

3这里给大家再加点料

上面说到了ArrayList<E>是采用范型的,这就意味着可以加入不同的类型的引用数据类型放置在同一ArrayList<>中

下面举个例子

主函数

package cn.itcast;

import java.util.ArrayList;

public class Test {
public static void main(String[] args) {
ArrayList<Object> arrayList = new ArrayList<>();
arrayList.add(new Person(18,"lisi"));
arrayList.add(new man(18,"wangwu",99));
System.out.println(arrayList);
}
}

Person类

package cn.itcast;

public class Person {
private int age;
private String name; @Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
'}';
} public Person(int age, String name) {
this.age = age;
this.name = name;
} public Person() {
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

main类

 package cn.itcast;

 public class man {
private int age;
private String name;
private int id; @Override
public String toString() {
return "man{" +
"age=" + age +
", name='" + name + '\'' +
", id=" + id +
'}';
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public man(int age, String name, int id) {
this.age = age;
this.name = name;
this.id = id;
} public man(int age, String name) {
this.age = age;
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
}

结果

以上就是一些基本的关于ArrayList的内容,如有不正确或则不完善的地方还请各位批评指教

Java常用API(ArrayList类)的更多相关文章

  1. Java常用API(Scanner类)

    Java常用API( Scanner类)1 1.Scanner类 首先给大家介绍一下什么是JavaAPI API(Application Programming Interface),应用程序编程接口 ...

  2. Java常用API(Math类)

    Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...

  3. Java常用API(Arrays类)

    Java常用API(Arrays类) 什么是Arrays类? java.util.Arrays 此类包含用来操作数组的各种方法,比如排序和搜索等.其所有方法均为静态方法,调用起来 非常简单. 这里我们 ...

  4. Java常用API(String类)

    Java常用API(String类) 概述: java.lang.String 类代表字符串.Java程序中所有的字符串文字(例如 "abc" )都可以被看作是实现此类的实例 1. ...

  5. Java常用API(Random类)

    Java常用API(Random类) Random:是一个用于生成随机数的类 构造方法 public Random() :创建一个新的随机数生成器. 返回随机数的方法 public int nextI ...

  6. Java常用API——时间类

    前言:Java.util.*工具包中,包含了集合框架,旧集合类,事件模型,日期和时间设施,国际化和其他使用程序类 (字符串.随机数生成器和位数组) 一.日期类Date 1.概述 Date是一个薄包装类 ...

  7. Java 常用API(二)

    目录 Java 常用API(二) 1. Object类 2. Date类 概述 构造方法和成员方法 3. DateFormat类 概述 SimpleDateFormat类 练习 4. Calendar ...

  8. Java 常用API(一)

    目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...

  9. Java 基础 常用API (Object类,String类,StringBuffer类)

    Java API Java 的API(API: Application(应用) Programming(程序) Interface(接口)) Java API就是JDK中提供给我们使用的类,这些类将底 ...

随机推荐

  1. XmlHttpRequest使用及“跨域”问题解决

    一. IE7以后对xmlHttpRequest 对象的创建在不同浏览器上是兼容的. 下面的方法是考虑兼容性的,实际项目中一般使用Jquery的ajax请求,可以不考虑兼容性问题. function g ...

  2. 网易java高级开发课程 面对上亿数据量,网易用啥技术?

  3. Socket连接和Http连接

    Socket连接与HTTP连接我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有 ...

  4. JavaScript this 关键词

    this是什么呢? JavaScript this 关键词指的是它所属的对象. 它拥有不同的值,具体取决于它所使用的位置: 在方法中,this 指的是所有者对象. 单独的情况下,this 指的是全局对 ...

  5. 七.数据分页原理,paginator与page对象

    1.分页: Paginator对象 Page对象 2.Paginator: class Paginator(object_list, per_page, orphans=0, allow_empty_ ...

  6. CSS3 transform详解,关于如何使用transform

    transform是css3的新特性之一.有了它可以box module变的更真实,这篇文章将全面介绍关于transform的使用. transform的作用 transform可以让元素应用 2D ...

  7. NuGet 应用指南

     一.前言 在产品开发过程中,一点有很多类库:这么多类库大家是如何管理的呢,TFS.SVN.Github……?在开发人员使用对应类库是否存在类库引用路径不一致.版本不一致问题.依赖类库版本不对应等一些 ...

  8. 常用API - 包装类、System类

    包装类 概述 Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率. 然而很多情况,会创建对象使用,因为对象可以做更多的功能. 如果想要我们的基本类型像对象一样操作,就可以使用基本类型 ...

  9. Spreading the Wealth,思维

    题目去洛谷 题意: 很清晰,n个人,每人有一些硬币硬币总数sum≡0(mod n),通过一些互相交换,使硬币数平均(即每人有相同个数的硬币) 分析: 还是有点思维含量的,我们这样想,我们其实就是要确定 ...

  10. Windows 用来定位 DLL 的搜索路径

    参考自:https://msdn.microsoft.com/zh-cn/library/253b8k2c.aspx 通过隐式和显式链接,Windows 首先搜索“已知 DLL”,如 Kernel32 ...