JAVA类集----List接口
2012-07-28 13:02
267 查看
一、List接口:
List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下:
1.ArrayList是List子类,可以直接通过对象的多态性,为List接口实例化
2.此类的定义如下:
以上是插入数据的操作,下面是删除数据的操作:
1.在List接口中提供了get()方法,利用此方法可以完成输出
2.通过循环完成输出,循环的次数由size()方法取得
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同
返回包含此 collection 中所有元素的数组。如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。
1.判断集合是否为空:boolean isEmpty();
2.截取部分集合:List接口扩充
3.查找指定的对象是否存在:
4.查找是否存在:
在List接口中还有一个子类:Vector,Vector类算是一个元老级的类。
List是Collection的子接口,里面可以保存各个重复的内容,此接口的定义如下:
public interface List<E> extends Collection<E>二、List接口的常用子类----ArrayList
1.ArrayList是List子类,可以直接通过对象的多态性,为List接口实例化
2.此类的定义如下:
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable3.AbstractList类的定义如下:
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>
import java.util.ArrayList; import java.util.List; import java.util.Collection; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new ArrayList<String>(); allList.add("hello"); allList.add("world"); System.out.println(allList); Collection<String> allCollection = new ArrayList<String>(); allCollection.add("one"); allCollection.add("dream"); allList.addAll(allCollection); System.out.println(allList); allList.addAll(0, allCollection); System.out.println(allList); } }
以上是插入数据的操作,下面是删除数据的操作:
import java.util.ArrayList; import java.util.List; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new ArrayList<String>(); allList.add("hello"); allList.add(0, "world"); allList.add("one"); allList.add("dream"); System.out.println(allList); allList.remove(0); System.out.println(allList); allList.remove("hello"); System.out.println(allList); } }集合中的内容可以添加、删除还有最重要的输出:
1.在List接口中提供了get()方法,利用此方法可以完成输出
2.通过循环完成输出,循环的次数由size()方法取得
import java.util.ArrayList; import java.util.List; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new ArrayList<String>(); allList.add("hello"); allList.add("hello"); allList.add(0, "world"); allList.add("one"); allList.add("dream"); System.out.print("List从前向后顺序输出为:"); for(int i = 0; i < allList.size(); i++){ System.out.print(allList.get(i) + "、"); } System.out.print("\nList从后向前顺序输出为:"); for(int i = allList.size()-1; i >= 0; i--){ System.out.print(allList.get(i) + "、"); } } }
<T> T[] toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同
import java.util.ArrayList; import java.util.List; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new ArrayList<String>(); allList.add("hello"); allList.add("hello"); allList.add(0, "world"); allList.add("one"); allList.add("dream"); String[] str = allList.toArray(new String[]{}); //指定好类型 for(int i = 0; i < str.length; i++){ System.out.print(str[i] + "、"); } } }
Object[] toArray()
返回包含此 collection 中所有元素的数组。如果 collection 对其迭代器返回的元素顺序做出了某些保证,那么此方法必须以相同的顺序返回这些元素。
import java.util.ArrayList; import java.util.List; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new ArrayList<String>(); allList.add("hello"); allList.add("hello"); allList.add(0, "world"); allList.add("one"); allList.add("dream"); Object[] obj = allList.toArray(); for(int i = 0; i < obj.length; i++){ String temp = (String)obj[i]; System.out.print(temp + "、"); } } }集合中还有一下几个操作:
1.判断集合是否为空:boolean isEmpty();
2.截取部分集合:List接口扩充
List<E> subList(int fromIndex, int toIndex)
3.查找指定的对象是否存在:
int indexOf(Object o)
4.查找是否存在:
boolean contains(Object o)
import java.util.ArrayList; import java.util.List; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new ArrayList<String>(); System.out.println("集合操作前是否为空:" + allList.isEmpty()); allList.add("hello"); allList.add("hello"); allList.add(0, "world"); allList.add("one"); allList.add("dream"); System.out.println(allList.contains("hello")?"\"hello\"字符串存在!" : "\"hello\"字符串不存在!"); List<String> subList = allList.subList(2, 3); //字符串截取 System.out.println("字符截取:"); for(int i = 0; i < subList.size(); i++){ System.out.print(subList.get(i) + "、"); } System.out.println("\none字符串的位置:" + allList.indexOf("one")); System.out.println("集合操作后是否为空:" + allList.isEmpty()); } }三、挽救的子类:Vector
在List接口中还有一个子类:Vector,Vector类算是一个元老级的类。
public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable
import java.util.Vector; import java.util.List; public class ArrayListDemo{ public static void main(String[] args){ List<String> allList = new Vector<String>(); allList.add("hello"); allList.add("hello"); allList.add(0, "world"); allList.add("one"); allList.add("dream"); System.out.println(allList); } }四、子类的差异:ArrayList与Vector的区别
比较点 | ArrayList | Vector |
推出时间 | JDK1.2之后推出的,属于新的操作类 | JDK1.0时推出,属于旧的操作类 |
性能 | 采用异步处理方式,性能更高 | 采用同步处理方式,性能较低 |
线程安全 | 属于非线程安全的操作类 | 属于线程安全的操作类 |
输出 | 只能使用Iterator、foreach输出 | 可以使用Iterator、foreach、Enumeration输出 |
相关文章推荐
- Java类集(List接口-Vector)
- Java类集框架——LinkedList子类与Queue接口
- java常见的4个类集接口collection,map,List,set
- Java类集 _List接口
- java类集--List接口
- 【Java类集】_List接口笔记(实例亲测)
- 13. Java类集 Part 1(类集、Collection接口、List接口、Set接口、SortedSet接口、集合的输出) ----- 学习笔记
- Java类集学习(二)List接口
- 【Java类集】_List接口笔记(实例亲测)
- JAVA | 51 - 类集框架 | List 接口
- java:类集框架conllection接口list,set
- Java自学之路-Java基础教程-40:Java的列表接口List和列表类ArrayList
- java中的集合框架List接口
- Java 集合深入理解(4):List<E> 接口
- java.util.List接口的方法subList()的使用注意事项
- Java类集框架之LinkedList源码剖析
- java.util.LIST是个接口,不够直观,要学习ms使用IList做为接口命名的方式
- Java 类集 _foreach 及Enumeration 接口
- Java类集核心接口
- java-List接口 ArrayList和LinkedList