java集合ArrayList

数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变。

为了保存这些数目不确定的元素,JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。

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

1创建集合

导包:import java.util.ArrayList;

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

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

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

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

2:8种基本数据类型所对应的引用数据类型表示形式


基本数据类型


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


byte


Byte


short


Short


int


Integer


long


Long


float


Float


double


Double


char


Character


boolean


Boolean

他们使用的方式是一样的,只是右面的这些可以调用方法,属性,

数据范围,除了原有的那些,还可以为null。

(这也是普通变量和对象的区别,变量不能调用方法和属性,对象可以)

3集合中常用方法


方法声明


功能描述


boolean add(Object obj)


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


Object get(int index)


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


int size()


返回集合中的元素个数


boolean add(int index,  Object obj)


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


Object remove(int index)


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


void clear()


清空集合中所有元素


Object set(int index, Object obj)


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

说明:

1)所有类都是继承Object(以后会再讲)

2)add(obj)传的就是一个对象,返回值是布尔值,true表示添加成功,但这个值没什么实际意义

3)get(index)传一个下标,集合里叫索引。与数组的arr[下标]相同的含义。这里注意,如果超出长度,也会报异常,叫索引越界异常

4)size()返回集合中的元素个数,(相当于数组的length属性),这样就知道了长度,就可以遍历了

5)add(index, obj)这就是方法重载

6)remove(index)传入下标,返回删的值

7)clear()清空

8)set(index, obj)相当于修改, 传入(下标,元素),返回值是被替代的那个元素

4集合的遍历和方法应用

//集合的相关操作
import java.util.ArrayList;
class  Demo02
{
	public static void main(String[] args)
	{
		ArrayList<Integer> list=new ArrayList<Integer>();		

		boolean flag=list.add(1);
		System.out.println(flag); //true,表示存入成功,这个值没什么实际意义

		//添加元素
		list.add(2);
		list.add(5);

		//获取元素
		System.out.println(list.get(0));
		System.out.println(list.get(1));
		System.out.println(list.get(2));

		//集合的长度
		System.out.println("集合的长度是"+list.size());

		System.out.println("----------");

		//在集合的指定位置插入元素
		list.add(0,8000);

		//删除集合中指定的元素
		int ele=list.remove(1);
		System.out.println("被删除的元素为"+ele);

		//替换
		int before=list.set(0,5000);
		System.out.println("被替换的元素为"+before);

		System.out.println("----------");

		//集合的遍历
		for(int i=0;i<list.size();i++){
			System.out.println(list.get(i));
		}

		//清空集合
		list.clear();
	}
}

原文地址:https://www.cnblogs.com/hzhjxx/p/10029496.html

时间: 2024-10-10 21:49:34

java集合ArrayList的相关文章

Java集合---ArrayList源码

本文转载自博客园牛奶.不加糖 原文地址:http://www.cnblogs.com/ITtangtang/p/3948555.html 本文仅供本人学习参考使用,如有侵权立即删除. 一. ArrayList概述: ArrayList是基于数组实现的,是一个动态数组,其容量能自动增长,类似于C语言中的动态申请内存,动态增长内存. ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)函数返回一个线程安

Java集合---ArrayList的实现原理

一. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小.   每个ArrayList实例都有一个容量,该容量是指用来存储列表元素的数组的大小.它总是至少等于列表的大小.随着向ArrayList中不断添加元素,其容量也自动增长.自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造ArrayList时指定其容

java集合-ArrayList

一直要总结java集合中的知识,不知道应该如何下笔.觉得集合太多东西了,写细了太难了,写粗了又感觉写不好.不管如何觉得还是要坚持的写一写基础这一类的东西,为了提高自己的编程基础.本来觉的自己对这些已经很熟悉,最近见过一些大神后发现差距太大了,瞬间懵了,只能在加强学习了. 一.ArrayList是什么? ArrayList是实现List接口的动态数组,所谓动态是指它的大小是可变的.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部

java集合(ArrayList练习)

import java.util.ArrayList; import java.util.Iterator; /* 1.存入自定义对象,并且去除重复元素. * 2.List集合判断元素是否相同,依据的是元素的equals方法. * 心得:Object 里的equals方法判断的是对象的地址值是否相同. *   String 里的equals方法判断对象里内容是否相同. *    在自定义类里面要复写Object中的equals方法,让其比较对象里的内容. 在java里能封装的变量.对象和方法尽量

【源码阅读】Java集合 - ArrayList深度源码解读

Java 源码阅读的第一步是Collection框架源码,这也是面试基础中的基础: 针对Collection的源码阅读写一个系列的文章,从ArrayList开始第一篇. [email protected] JDK版本 JDK 1.8.0_110 概述总结 ArrayList底层是通过数组实现的:其中capacity表示底层数组的长度,而ArrayList长度由size表示: ArrayList允许存放null元素,也可以查找null所在的index, 比如indexOf(), lastIndex

Java集合ArrayList的应用

/** * * @author Administrator * 功能:Java集合类ArrayList的使用 */ package com.test; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Test2 { public static void main(String[] args) throws Exception{ // TODO Aut

java集合-- arraylist小员工项目

import java.io.*; import java.util.ArrayList; public class Emexe { public static void main(String[] args) throws IOException { EmpManage em=new EmpManage(); BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); while(true){ System.o

Java 集合--ArrayList

ArrayList构造函数 // 默认构造函数 ArrayList() // capacity是ArrayList的默认容量大小.当由于增加数据导致容量不足时,容量会添加上一次容量大小的一半. ArrayList(int capacity) // 创建一个包含collection的ArrayList ArrayList(Collection<? extends E> collection) ArrayList的API // Collection中定义的API boolean add(E obj

java集合框架--ArrayList类、Vector和LinkedList类

1.ArrayList类概述 底层数据结构是数组,查询块,增删慢. 线程不安全,效率高. 2.ArrayList案例 2.1存储字符串并遍历 package com; import java.util.ArrayList; import java.util.Iterator; import java.util.ListIterator; public class ArrayListDemo { public static void main(String[] args) { //创建ArrayL