1. List是接口,List特性就是有序,会确保以一定的顺序保存元素. ArrayList是它的实现类,是一个用数组实现的List. Map是接口,Map特性就是根据一个对象查找对象. HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找.(关于散列查找,可以参看<<数据结构>>) 2. 一般情况下,如果没有必要,推荐代码只同List,Map接口打交道. 比如:List list = new ArrayList(); 这样做的原因是list就相当于是一个泛型的实现,如果想改变list的类型,只需要: List list = new LinkedList();//LinkedList也是List的实现类,也是ArrayList的兄弟类 这样,就不需要修改其它代码,这就是接口编程的优雅之处. 另外的例子就是,在类的方法中,如下声明: private void doMyAction(List list){} 这样这个方法能处理所有实现了List接口的类,一定程度上实现了泛型函数. 3. 如果开发的时候觉得ArrayList,HashMap的性能不能满足你的需要,可以通过实现List,Map(或者Collection)来定制你的自定义类.
|
相关推荐
经典讲解List和ArrayList和Vector和HashTable和HashMap区别
C# Array和ArrayList,List区别
手写精简版List和ArrayList,适合新手入门学习jdk源码demo,初学易懂
Arraylist 和 List<T> 在使用的效率是不一样的,选择不同的集合 能使项目的性能有很大的提高!
List最全总结( ArrayList, LinkedList, 匿名类)
List、ArrayList、Vector及map、HashTable、HashMap分别的区别
使用对象ArrayList填充DataGrid,C#源代码ArrayList MyList = new ArrayList();
Java中List、ArrayList、Vector及map、HashTable、HashMap分别的区别.
Map+List+ArrayList+LinkedList Java源代码,适合初学者
1.List是接口类,ArrayList和LinkedList是List的实现类 2.ArrayList是动态数组(顺序表)的数据结构 3.LinkedList
ArrayList集成AbstractList抽象类,实现了List、RandomAccess、Cloneable、java.io.Serializable这四个接口,其中我们可以看到,实现了Cloneable和Serializable接口就代表着ArrayList是支持克隆和序列化的,这里有个...
set list ArrayList等java集合类详述
自定义实现的ArrayList数据结构,有大量注释以及编写思路,帮助新手用Java语言来实现数据结构
ArrayList数据批量添加数据,供新手参考
List、ArrayList、Vector及map、HashTable、HashMap的区别与用法 使用容器排序 Vector由于使用了synchronized方法(线程安全)
一个C++(Ubuntu16.04+QT5.9.1)通过JNI,调用JAVA类及方法的示例。通过JNI传递和返回多种类型的参数,boolean ,int,String,ArrayList,ArrayList嵌套ArrayList<ArrayList<String>>等。
arraylist 和linked list的时间复杂度
void CopyList(const ArrayList& copyArrayList); // Deletes all allocated memory. void DeleteList(); // Displays the items in the array, one per line. friend ostream& operator (ostream& out, ...