Java集合之ArrayList的基本使用方法

        ArrayList类位于java核心类库java.util包中,使用前需要先导包,ArrayList用于存储对象,不能存储基本类型,就像是一个长度可变的数组,内部是使用数组实现的,当数组快装满时会创建一个更大的数组,所以要预先估计好要装多少对象,构造ArrayList时可以指定数组大小,构造方法是ArrayList(int initialCapacity)。

        ArrayList实现了List接口,List接口要求对添加的元素进行有序排列,并且可以根据索引访问元素,先添加的元素排在前面,和数组一样,下标从0开始。List接口可以添加重复元素和null值。

       ArrayList常用的方法有:

       

add(Object e);//添加一个元素
remove(Object o);//移除指定元素
remove(int index);//移除指定位置上的元素
get(int index);//获取指定索引上的元素


        介绍几种遍历方法:
使用Collection通用的Iterator接口遍历:
ArrayList<String> list=new ArrayList<>();
		list.add("1");
		list.add("2");
		list.add("3");
		//使用Iterator接口,iterator()这个方法会返回一个Iterator实例
		Iterator<String> i=list.iterator();
		while(i.hasNext()){//如果有下一个元素
		String s=i.next();//next()返回元素并将索引指向下一个元素
		System.out.println(s);//打印元素						 
		//i.remove();删除当前元素
		}
使用List接口特有的listIterator接口遍历,好处是允许向前访问:
		ArrayList<String> list=new ArrayList<>();
		list.add("1");
		list.add("2");
		list.add("3");
		//使用ListIterator接口遍历
		ListIterator<String> i=list.listIterator();
		while(i.hasNext()){
			String s=i.next();
			System.out.println(s);
		}
		while(i.hasPrevious()){//判断是否有前一个元素
			String s=i.previous();//访问前一个元素
			System.out.println(s);
		}
使用for循环遍历,可以用普通for循环或者增强for,这里只演示普通for:
		ArrayList<String> list=new ArrayList<>();
		list.add("1");
		list.add("2");
		list.add("3");
		//使用普通for循环遍历
		for(int a=0;a<list.size();a++){
			System.out.println(list.get(a));
		}

是不是和数组很像?

         ArrayList与数组的转换:

      ArrayList与数组是可以互相转换的,例如ArrayList转数组:

		ArrayList<String> list=new ArrayList<>();
		list.add("1");
		list.add("2");
		list.add("3");
		Object[] o=list.toArray();//转换成Object数组
		String[] s=list.toArray(new String[0]);//转换成指定类型数组,括号里需要一个类型的实例,仅用来获取类型,所以数组大小随意


数组转List:

		String[] s={"1","2","3"};
		List list=Arrays.asList(s);


  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值