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);


猜你喜欢

转载自blog.csdn.net/qq_37567866/article/details/72566416