博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA ArrayList集合
阅读量:5279 次
发布时间:2019-06-14

本文共 4977 字,大约阅读时间需要 16 分钟。

        ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。

  

1.1 集合的创建

 

创建集合的常用格式在此说明一下:

 

导包:import java.util.ArrayList;

 

创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:

 

ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

 

集合中存储的元素,只能为<>括号中指定的数据类型元素;

 

l “<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

基本数据类型

对应的引用数据类型表示形式

byte

Byte

short

Short

Int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

我们通过举几个例子,来明确集合的创建方式:

存储String类型的元素

ArrayList<String> list = new ArrayList<String>();

存储int类型的数据

ArrayList<Integer> list = new ArrayList<Integer>();

存储Phone类型的数据

ArrayList<Phone> list = new ArrayList<Phone>();

 

1.2 集合中常用方法

方法声明

功能描述

boolean addObject obj

将指定元素obj追加到集合的末尾

Object getint index

返回集合中指定位置上的元素

int size()

返回集合中的元素个数

import java.util.ArrayList;public class ArrayListDemo01 {    public static void main(String[] args) {        // 创建ArrayList集合        ArrayList
list = new ArrayList
(); // 向集合中添加元素 list.add("stu1"); list.add("stu2"); list.add("stu3"); list.add("stu4"); // 获取集合中元素的个数 System.out.println("集合的长度:" + list.size()); // 取出并打印指定位置的元素 System.out.println("第1个元素是:" + list.get(0)); System.out.println("第2个元素是:" + list.get(1)); System.out.println("第3个元素是:" + list.get(2)); System.out.println("第4个元素是:" + list.get(3)); }}

ArrayList集合相当于是一个长度可变的数组,所以访问集合中的元素也是采用索引方式访问,第一个元素存储在索引0的位置,第二个元素存储在索引1的位置,依次类推.

 

1.3 集合的遍历

13import java.util.ArrayList; 14public class ArrayListDemo02 { 15    public static void main(String[] args) { 16        //创建ArrayList集合 17        ArrayList
list = new ArrayList
(); 18 //添加元素到集合 19 list.add(13); 20 list.add(15); 21 list.add(22); 22 list.add(29); 23 //遍历集合 24 for (int i = 0; i < list.size()[获取集合中元素的个数]; i++) { 25 //通过索引,获取到集合中每个元素 26 int n = list.get(i)[获取集合中指定位置上的元素值]; 27 System.out.println(n); 28 } 29 } 30}

1.4 集合中的常用方法补充

方法声明

功能描述

boolean addint index,  Object obj

将指定元素obj插入到集合中指定的位置

Object removeint index

从集合中删除指定index处的元素,返回该元素

void clear()

清空集合中所有元素

Object setint index, Object obj

用指定元素obj替代集合中指定位置上的元素

l boolean add(int index,  Object obj)

功能:在集合中指定index位置,添加新元素obj

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用add(1,“javaWeb”)后,集合list中的元素为[“java”,“javaWeb”,“JavaEE”]。

l Object set(int index, Object obj)

功能:用指定元素obj替代集合中指定index位置的元素

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用set(0,“javaWeb”)后,集合list中的元素为[“javaWeb”,“JavaEE”]。

l Object remve(int index)

功能:从集合中删除指定index处的元素,返回该元素

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用remove(0)后,集合list中的元素为[“JavaEE”],返回值为“java”。

l void clear()

n 功能:清空集合中所有元素

功能说明:假设集合list中有元素[“java”,“javaEE”],当使用clear()后,集合list中的元素为空[ ]。

1.5 随即点名器案例分析

随机点名器即在全班同学中随机的找出一名同学打印这名同学的个人信息

我们来完成随机点名器,它具备以下3个内容:

l 存储所有同学姓名

l 总览全班同学姓名

l 随机点名其中一人,打印到控制台

import  java.util.Scanner;import  java.util.Random;public class hanghang {    public static void main(String[] args){        String[] name = new String[3];        for(int i=0;i

1.6 库存管理案例分析

 

01.package Library;   02.  03.import java.io.Serializable;  04.  05.public class Book implements Serializable{  06.  07.    private int bookId;  08.    private String bookName;  09.    private String auther;  10.    private String pubDate;  11.    private double price;  12.    private int store;  13.    public int getBookId() {  14.        return bookId;  15.    }  16.    public void setBookId(int bookId) {  17.        this.bookId = bookId;  18.    }  19.    public String getBookName() {  20.        return bookName;  21.    }  22.    public void setBookName(String bookName) {  23.        this.bookName = bookName;  24.    }  25.    public String getAuther() {  26.        return auther;  27.    }  28.    public void setAuther(String auther) {  29.        this.auther = auther;  30.    }  31.    public String getPubDate() {  32.        return pubDate;  33.    }  34.    public void setPubDate(String pubDate) {  35.        this.pubDate = pubDate;  36.    }  37.    public double getPrice() {  38.        return price;  39.    }  40.    public void setPrice(double price) {  41.        this.price = price;  42.    }  43.    public int getStore() {  44.        return store;  45.    }  46.    public void setStore(int store) {  47.        this.store = store;  48.    }  49.    public Book(int bookId, String bookName, String auther, String pubDate,  50.            double price, int store) {  51.        super();  52.        this.bookId = bookId;  53.        this.bookName = bookName;  54.        this.auther = auther;  55.        this.pubDate = pubDate;  56.        this.price = price;  57.        this.store = store;  58.    }  59.    public Book() {  60.        // TODO Auto-generated constructor stub  61.    }  62.      63.  64.}  65.

 

转载于:https://www.cnblogs.com/time-to-despair/p/9712172.html

你可能感兴趣的文章
poj3320 Jessica's Reading Problem(尺取思路+STL)
查看>>
分布式计算开源框架Hadoop介绍
查看>>
安卓平台接口剖析
查看>>
坏的事情不都会带来坏的结果
查看>>
RPC的基础:调研EOS插件http_plugin
查看>>
第二次团队冲刺第二天
查看>>
bzoj 2257 (JSOI 2009) 瓶子与燃料
查看>>
11)Java abstract class 和 interface
查看>>
使用xrdp或Xmanager 远程连接 CentOS6
查看>>
Linux误删恢复
查看>>
Unity调用Windows窗口句柄,选择文件和目录
查看>>
HashMap循环遍历方式
查看>>
React Native 入门 调试项目
查看>>
C# 通过 Quartz .NET 实现 schedule job 的处理
查看>>
关于java之socket输入流输出流可否放在不同的线程里进行处理
查看>>
目前为止用过的最好的Json互转工具类ConvertJson
查看>>
Day13
查看>>
tensorflow saver简介+Demo with linear-model
查看>>
Luogu_4103 [HEOI2014]大工程
查看>>
Oracle——SQL基础
查看>>