JAVA之ArrayList使用

import java.util.ArrayList;或者import java.util.*;

1.定義和初始化
(1)創建空列表,然後逐一添加

ArrayList L=new ArrayList();
L.add(1);L.add("abc");

(2)格式化添加

ArrayList L=new ArrayList(){add(1);add("bc");}};

(3)將Collection作爲參數傳遞進來

ArrayList L=new ArrayLIst(Arrays.asList(1,2,"bc"));
ArrayList L=new ArrayLIst(Arrays.asList("a,b,c".split(",")));
int[] x={1,2,3};
ArrayList L=new ArrayLIst(Arrays.asList(x));

2.新增
(1)添加到末尾 L.add(“a”);
(2)添加到指定位置 L.add(pos,“a”); L.add(pos,Collection x);
3.刪除
(1)刪除第一個匹配的元素 L.remove(“a”);
(2)刪除指定位置的元素 L.remove(pos);

這裏存在一個問題,如果ArrayList裏面存的本來就是數字,那remove(1)只會刪掉位置爲1的元素,不會刪掉數字是1的元素,如果想刪掉應該這麼寫:L.remove((Integer)1);

4.訪問元素 L.get(pos); //以下標來訪問
5.查詢元素 L.indexOf(“a”); //沒有會返回-1
6.獲取大小 L.size();
7.清空 L.clear();
8.判斷是否爲空 L.isEmpty();
9.打印
(1)逐個遍歷然後打印

for(int i=0;i<L.size();i++)
	System.out.println(L.get(i));

(2)直接打印

System.out.println(L);

10.遍歷
(1)Iterator迭代器

Integer value=null;
Iterator iter=L.iterator();
while(iter.hasNext())
{
	value=(Integer)iter,next();
	System.out.println(value);
}

(2)for循環

for(int i=0;i<L.size();i++)
	System.out.println(L.get(i));

(3)foreach循環

for(Integer i:L)
	System.out.println(i);

11.ArrayList和數組的互相轉換

  • 數組轉ArrayList
1)ArrayList L=new ArrayList(Arrays.asList(x));2)ArrayList L=new ArrayList();
 	 Collections.addAll(L,x);
  • ArrayList轉數組
 Integer[] x=(Integer[]) L.toArray(new Integer[0]);
 String[] x=(String[]) L.toArray(new String[0]);
  • ArrayList轉String
 String str=StringUtils.join(L,",");

12.線程安全
ArrayList線程不安全,線程之間互相操作可能會擦除數據。解決方法有兩種:
(1)繼承ArrayList並重寫方法,加上synchronized關鍵字。
(2)List list=Collections.synchronizedList(new ArrayList());

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章