鉴于考试临近,感觉Java集合这一块不是很熟悉,但是,在实战中,java 中的集合很是常用。于是花几天时间复习Java中的集合。首先根据一个解一下集合的理解顺序思路。
在java.util 包中提供了一些集合类,常用的有List,Set,Map。其中List和Set实现了Collection父类接口。Map则是键值对的映射集合。
List接口中的常用方法是ArrayList类方法,该类方法方便查询,但是插入和删除却比较缓慢。它每进行一次插入或者删除操作,都会影响被操作的后面的对象,最后完成,效率会很低。相较之下,后来的LinkedList类方法就方便插入和删除,但是随机访问的效率会很低。
例如ArrayList类,方便查询:
1 package jihe; 2 3 import java.awt.List; 4 import java.util.ArrayList; 5 import java.util.Iterator; 6 7 public class Study { 8 public static void main( String[] args ) { 9 ArrayList al = new ArrayList(); // Create a new ArrayList 10 for( int i=0; i<10; i++ ) { 11 al.add( new Integer( i ) ); // Add Items to the array list 12 } 13 for( int i=0; i<al.size(); i++ ) { 14 System.out.println( i + " = " + al.get( i ) ); 15 } 16 al.remove( 5 ); 17 al.set( 5, new Integer( 66 ) ); 18 for( Iterator i=al.iterator(); i.hasNext(); ) { 19 Integer integer = ( Integer )i.next(); 20 System.out.println( integer ); 21 } 22 } 23 }
再来看看LinkedList类,方便向集合中插入和删除元素:
1 package jihe; 2 3 import java.util.LinkedList; 4 5 public class Example { 6 7 public static void main(String[] args) { 8 String a = "A", b = "B", c = "C", test = "Test"; 9 LinkedList<String> list = new LinkedList<String>(); 10 list.add(a); // 索引位置为 0 11 list.add(b); // 索引位置为 1 12 list.add(c); // 索引位置为 2 13 System.out.println(list.getFirst());// 获得并输出列表开头的对象 14 list.addFirst(test);// 向列表开头添加一个对象 15 System.out.println(list.getFirst());// 获得并输出列表开头的对象 16 list.removeFirst();// 移除列表开头的对象 17 System.out.println(list.getFirst());// 获得并输出列表开头的对象 18 } 19 }