天天看点

[J2SE]s02e09.List的实现类ArrayList等(课后练习)

Collection 老祖先,接口(interface)

  List 子接口

     ArrayList,LinkedList,Vector 实现类     

  Set 子接口

     HashSet(无序),TreeSet(有序)

ArrayList:动态数组,表示数组长度可变

ArrayList,LinkedList 使用方法完全一样, 区别:

 数据存储方式不一样,称为不同的数据结构

 ArrayList:基于数组实现(优点:连续存放,查找速度比较快,缺点是增加元素或者删除元素比较慢),

 LinkedList基于链表实现(缺点:不连续存放,查找速度比较慢,优点:增加元素或删除元素比较快)。

 Vector 向量:基于数组实现的,但是已经过时,现在都用ArrayList

代码:

package javastudy;

import java.util.ArrayList;
import java.util.Iterator;

public class test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub	
	ArrayList<String> al=new ArrayList<String>();
	al.add("北京");
	al.add("上海");
	al.add("天津");
	al.add(0,"重庆");
	print1(al);
	System.out.println("-----------------------");
	al.set(1, "Beijing");//修改元素
	print1(al);
	System.out.println("-----------------------");
	al.remove(2);        //删除元素
	print2(al);          //print2 方法打印	
	}
	static void print1(ArrayList<String> al) {
		for(int i=0;i<al.size();i++)      //al.size()
		{
			System.out.print(al.get(i));//al.get(i)
		}		
	}
	static void print2(ArrayList<String> al){
		Iterator<String>it=al.iterator();//相当于元素指针
		while(it.hasNext()){
			System.out.print(it.next());
		}
			
	}
}
           

截图:

[J2SE]s02e09.List的实现类ArrayList等(课后练习)

继续阅读