Java:集合框架详解(ArrayList)和代码示例

集合框架都在java.util包下

为什么使用集合框架:

应为数组的长度是一定的,所以存储数据很不方便,但是用集合就可以动态的存储数据。


集合框架的分类:



List接口的实现方法:

ArrayList实现了长度可变的数组,在内存中分配连续空间。遍历元素和随机访问元素的效率比较高。
LinkerList采用链表存储方式。插入、删除元素时效率比较高。

ArrayList集合类的方法:


示例代码:

package com.jredu.oopch07;

import java.util.ArrayList;
import java.util.List;

/**
 * 集合框架位于java.util包下
 * 集合List:ArrayList
 * List:有序、不唯一
 * @author Administrator
 *
 */
public class Ch01 {
	/**
	 * ArrayList:内部采用了可变长度的数组,分配的是连续的空间
	 * 遍历元素(从第一个到最后一个)及随机访问(随机查看某一个)元素的效率高
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//左边:接口     右边:实现类       (多态)
		List list=new ArrayList<>();
		//接口定义的方法
		//在List中追加一条数据
		list.add(1);
		list.add('a');
		list.add(true);
		list.add(123);
		
		//在某个指定下标位置插入元素,下标位置必须介于0到个数之间
		list.add(2, "abc");  
		//访问某个数据
		System.out.println(list.get(1));
		
		//ArrayList:重写了toString方法,可以直接打印list
		System.out.println(list);   //[1,a,true]
		//相当于System.out.println(list.toString());
		
		//size:获取List的个数
		System.out.println("List的元素个数是:"+list.size());
		//通过传入具体的元素值,来删除元素,会返回删除后的结果
	//	list.remove("abc");//删除
		
		//remove方法有两个重载:(int a)(Object o)
		/*
		list.remove(1);//删除下标是1的数据
		list.remove((Integer)1);//删除值是1 的元素
		*/
		
		System.out.println("是否删除成功:"+list.remove("abc"));//true
	//	System.out.println("是否删除成功:"+list.remove((Character)'a'));//true
		System.out.println("被删除的元素是:"+list.remove(3));//删除的是:123
		
		System.out.println("List的元素个数是:"+list.size());
		
		//contains:判断是否存在某个元素值
		System.out.println(list.contains(0));//false
	}

}




展开阅读全文

没有更多推荐了,返回首页