WEB开发网
开发学院软件开发Java 关于 Java Collections API 您不知道的 5 件事,第... 阅读

关于 Java Collections API 您不知道的 5 件事,第 2 部分:注意可变对象

 2010-06-23 00:00:00 来源:WEB开发网   
核心提示:java.util 中的 Collections 类旨在通过取代数组提高 Java 性能,如您在 第 1 部分 中了解到的,关于 Java Collections API 您不知道的 5 件事,第 2 部分:注意可变对象,它们也是多变的,能够以各种方式定制和扩展,例如,List 是一个接口,帮助实现优质、简洁的代码,C

java.util 中的 Collections 类旨在通过取代数组提高 Java 性能。如您在 第 1 部分 中了解到的,它们也是多变的,能够以各种方式定制和扩展,帮助实现优质、简洁的代码。

Collections 非常强大,但是很多变:使用它们要小心,滥用它们会带来风险。

1. List 不同于数组

Java 开发人员常常错误地认为 ArrayList 就是 Java 数组的替代品。Collections 由数组支持,在集合内随机查找内容时性能较好。与数组一样,集合使用整序数获取特定项。但集合不是数组的简单替代。

要明白数组与集合的区别需要弄清楚顺序 和位置 的不同。例如,List 是一个接口,它保存各个项被放入集合中的顺序,如清单 1 所示:

清单 1. 可变键值

import java.util.*; 
 
public class OrderAndPosition 
{ 
  public static <T> void dumpArray(T[] array) 
  { 
    System.out.println("============="); 
    for (int i=0; i<array.length; i++) 
      System.out.println("Position " + i + ": " + array[i]); 
  } 
  public static <T> void dumpList(List<T> list) 
  { 
    System.out.println("============="); 
    for (int i=0; i<list.size(); i++) 
      System.out.println("Ordinal " + i + ": " + list.get(i)); 
  } 
   
  public static void main(String[] args) 
  { 
    List<String> argList = new ArrayList<String>(Arrays.asList(args)); 
 
    dumpArray(args); 
    args[1] = null; 
    dumpArray(args); 
     
    dumpList(argList); 
    argList.remove(1); 
    dumpList(argList); 
  } 
} 

1 2 3 4 5  下一页

Tags:关于 Java Collections

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接