ArrayList与数组


最近学习java的时候遇到ArrayList和数组相互转换的问题,在这里坐下笔记方便自己之后查看。

ArrayList与数组的区别

ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。
ArrayList继承了AbstractList,并实现List接口。

数组是相同数据类型的多个数据的容器。这些元素按线性顺序排序,所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素;除最后一个元素外,每一个元素都有唯一的后继元素。
数组在初始化确定长度后,长度不会再发生变化。

ArrayList

ArrayList初始化

import java.util.ArrayList;//引入ArrayList类
ArrayList<E> objectName = new ArrayList<>();//ArrayList的初始化
  • E:泛型数据类型
  • objectName:对象名

ArrayList遍历方式

迭代器遍历

Iterator<Integer> it = arrayList.iterator();
while(it.hasNext()){
	System.out.println(it.next()+" ");
}

索引值遍历

for(int i = 0; i < arrayList.size(); i++){
	System.out.println(arrayList.get(i)+" ");

for循环遍历

for(Integer num: arrayList){
	System.out.println(num+" ");

ArrayList类的常用方法

add()方法

	str.add("Hello");
	str.add("world");

结果为:

get()方法

str.get(1);

结果为:

set()方法

str.set(0, "world");//第一个参数为索引位置,第二个为要修改的值

结果为:

remove()方法

str.remove(0);//删除第一个元素

结果为:

size()方法

import java.util.ArrayList;
public class ArrList {
	public static void main(String[] args){
	ArrayList<String> str = new ArrayList<>();
	str.add("Hello");
	str.add("Hi");
	str.add("world");
	System.out.println(str.size());

结果为:

数组

数组的初始化

int[] arr = new int[3];
int[] arr = {1, 2, 3, 4};
int[] arr;//只创建数组引用名,未在内存创建数组空间
int[] arr = new int[]{1, 2, 3, 4};

遍历数组

示例:

for(int i = 0; i < arr.length; i++){
	System.out.println(arr[i]);

或者:

for(int element: arr){
	System.out.println(element);

ArrayList与数组相互转换

ArrayList转换为数组

ArrayList提供public T[] toArray(T[] a)

 		List<String> list=new ArrayList<String>();  
        list.add("a");  
        list.add("b");  
        list.add("c");  
        int size=list.size();  
        String[] array = (String[])list.toArray(new String[size]);  
        for(int i=0;i<array.length;i++){  
        System.out.println(array[i]);

为什么要用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢?
List接口有多个实现类,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类,如
LinkedList或者Vector等等,这时你只要改变这一行就行了: List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。 假设你开始用ArrayList alist = new ArrayList(), 这下你有的改了,特别是如果你使用了ArrayList实现类特有的方法。

和属性。

数组转换为ArrayList

		String[] array=new String[3];  
        array[0]="a";  
        array[1]="b";  
        array[2]="c";  
        ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(array));
        for(int i=0;i<arrayList.size();i++){  
        System.out.println(arrayList.get(i));
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值