生活随笔
收集整理的這篇文章主要介紹了
List集合ArrayList,LinkList
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.List是Collection子接口,擁有其所有方法。
2.List是有序集合,集合中每個元素都有對應順序序列。List集合可使用重復元素,可以通過索引來訪問指定位置的集合元素(順序索引從0開始) List集合默認按元素的添加順序設置元素的索引,類似數組。(有序可重復)
3.ListIterator是Iterator的子接口,是List集合特有的迭代輸出接口,它可以實現在迭代過程中對元素的增刪改查。(詳細介紹:http://blog.csdn.net/qq_36330228/article/details/77417163)
4.List接口中常用類:
Vector:線程安全,但速度慢,已被ArrayList替代
ArrayList:線程不安全,查詢速度快
LinkList:鏈表結構,增刪速度快
package com.wql;
import java.awt.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;
/*** List集合演示* * @author wql**/
class Persons {
private String name;
private int age;
public Persons(String name,
int age) {
super();
this.name = name;
this.age = age;}
@Overridepublic String
toString() {
return "Persons [name=" + name +
", age=" + age +
"]";}}
public class ListDemo {public static void main(String[] args) {ArrayList list =
new ArrayList();list.add(
new Persons(
"張三1",
20));list.add(
new Persons(
"張三1",
20));list.add(
new Persons(
"張三2",
22));list.add(
new Persons(
"張三3",
23));list.add(
new Persons(
"張三4",
24));
for (Iterator iterator = list.iterator(); iterator.hasNext();) {Object object = (Object) iterator.next();System.out.println(object);}list.remove(
1);list.set(
3,
new Persons(
"張三5",
25));System.out.println(
"***********");
for (Iterator iterator = list.iterator(); iterator.hasNext();) {Object object = (Object) iterator.next();System.out.println(object);}}}
運行:
總結:
1. 如果涉及到堆棧,隊列等操作,應該考慮用List,對于需要快速插入,刪除元素,應該使用LinkedList,如果需要快速隨機訪問元素,應該使用ArrayList。
2. 如果程序在單線程環境中,或者訪問僅僅在一個線程中進行,考慮非同步的類,其效率較高,如果多個線程可能同時操作一個類,應該使用同步的類。
3. 要特別注意對哈希表的操作,作為key的對象要正確復寫equals和hashCode方法。
4. 盡量返回接口而非實際的類型,如返回List而非ArrayList,這樣如果以后需要將ArrayList換成LinkedList時,客戶端代碼不用改變。這就是針對抽象編程。
轉載于:https://www.cnblogs.com/wangqilong/p/8279801.html
總結
以上是生活随笔為你收集整理的List集合ArrayList,LinkList的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。