❶ java ArrayList的使用
importjava.util.*;
classStudent{//定義學生類
Stringname;
Student(Stringname){//構造方法
this.name=name;
}
//重寫equals方法,保證只要名字相等,則認為是同一個人.
publicbooleanequals(Objectobj){
if(name==null||obj==null){
returnfalse;
}
if(objinstanceofStudent){
Studentsd=(Student)obj;
returnname.equals(sd.name);
}
returnfalse;
}
}
publicclasst2{
publicstaticvoidmain(String[]args){
Scannerreader=newScanner(System.in);
Student[]stu=newStudent[4];//定義
ArrayList<Student>stus=newArrayList<Student>();//ArrayList泛型,每個元素是1個學生。
System.out.println("輸入4個學生姓名:");
//初始化4個學生,並將他們添加進ArrayList
for(inti=0;i<4;i++){
stu[i]=newStudent(reader.nextLine());
stus.add(stu[i]);
}
System.out.println("列表中還有"+stus.size()+"個學生:");
for(inti=0;i<stus.size();i++){//遍歷輸出所有元素中學生的姓名
System.out.println("第"+i+"個學生:"+stus.get(i).name);
}
//鍵盤輸入一個學生姓名,判斷該學生是否在列表中,如存在,則輸出其在列表中的下標,然後將它從列表中移除。
System.out.println("輸入要查找的人的姓名:");
Students=newStudent(reader.nextLine());
if(stus.contains(s)){
System.out.println("找到"+s.name+",下標為"+stus.indexOf(s));//輸出下標
stus.remove(s);//從列表中移除該學生
System.out.println("刪除"+s.name+"後,還有"+stus.size()+"個學生:");
for(inti=0;i<stus.size();i++){//遍歷輸出所有元素中學生的姓名
System.out.println("第"+i+"個學生:"+stus.get(i).name);
}
}else
System.out.println("列表中找不到"+s.name);//如不存在則輸出找不到。
}
}
效果
輸入4個學生姓名:
天涯
明月
秋水
清泉
列表中還有4個學生:
第0個學生:天涯
第1個學生:明月
第2個學生:秋水
第3個學生:清泉
輸入要查找的人的姓名:
天涯
找到天涯,下標為0
刪除天涯後,還有3個學生:
第0個學生:明月
第1個學生:秋水
第2個學生:清泉
❷ java ArrayList的用法
import java.util.ArrayList;
import java.util.Iterator;
public class Demo {
public static void main(String[] args){
ArrayList list = new ArrayList();
list.add("a");
list.add("b");
list.add("c");
System.out.println("list中添加了a,b,c三個元素");
Iterator it = list.iterator();
System.out.print("遍歷list得到的結果:");
while(it.hasNext()){
System.out.print(it.next() + ",");
}
System.out.println();
list.clear();
System.out.println("已經移除了list中的所有元素");
}
}
ArrayList類:
ArrayList實現了可變大小的數組。它允許所有元素,包括null。ArrayList沒有同步。
size,isEmpty,get,set方法運行時間為常數。但是add方法開銷為分攤的常數,添加n個元素需要O(n)的時間。其他的方法運行時間為線性。
每個ArrayList實例都有一個容量(Capacity),即用於存儲元素的數組的大小。這個容量可隨著不斷添加新元素而自動增加,但是增長演算法並沒有定義。當需要插入大量元素時,在插入前可以調用ensureCapacity方法來增加ArrayList的容量以提高插入效率。
Map介面:
請注意,Map沒有繼承Collection介面,Map提供key到value的映射。一個Map中不能包含相同的key,每個key只能映射一個value。Map介面提供3種集合的視圖,Map的內容可以被當作一組key集合,一組value集合,或者一組key-value映射。
❸ java arraylist 用法
如果輸出的全是整型的話可以使用下面這種方式
ArrayList<Integer>List=newArrayList<Integer>();
Integer[]num=newInteger[List.size()];
List.toArray(num);
如果輸出的不確定那就得循環List一個一個給數組賦值了
❹ Java中ArrayList的構造方法說明
Java中ArrayList的構造方法
public ArrayList(Collection<? extends E> c)
API的意思是「構造一個包含指定 collection 的元素的列表,這些元素是按照該 collection 的迭代器返回它們的順序排列的。
參數: c 其元素將放置在此列表中的 collection 」
比如:
ArrayList<String> list = new ArrayList<String>();
list.add("hello");
String str = list.get(0);//這里不需要強制類型轉換了
這個list裡面保存的全數據全都是String類的對象,同時,在取出數據的時候,無需強制類型轉換。
❺ java arraylist用法
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class TestMain {
public static void main(String[] args){
List list1 = new ArrayList();
list1.add("a");
list1.add("1");
list1.add("b");
list1.add("2");
list1.add("c");
list1.add("3");
list1.add("d");
//list1.add("4");
Map map1 = genMap(list1);
Iterator it = map1.keySet().iterator();
while(it.hasNext()){
String key = it.next().toString();
String value = map1.get(key).toString();
System.out.println("key :" + key + " ; value = " + value);
}
}
public static Map genMap(List list1){
if(list1.size() % 2 == 1){
throw new IllegalArgumentException("錯誤:list長度為奇數。");
}
Map map1 = new HashMap();
for(int i=0;i<list1.size();){
map1.put(list1.get(i), list1.get(i+1));
i += 2;
}
return map1;
}
}
註:
代碼中注釋掉的這一句:
//list1.add("4");
注釋掉,則list1的元素個數為單數,
打開,則list1的元素個數為雙數。
請分別測試。