❶ java中的List的使用
List<E>([]內的內容可省略),與數組類似:
實例化:List[<數據類型>] list = new ArrayList[<數據類型>]();
獲得集合內元素個數:list.size();
添加元素:
默認添加:list.add(e);
指定下標添加(添加後下標後的元素向後挪一位):list.add(index,e);
刪除元素:
返回是否刪除:list.remove(e);
直接刪除指定下標的元素(只刪除找到的第一個相符合的元素):list.remove(index);
替換元素(替換掉指定下標的元素):list.set(index,e);
取出元素:list.get(index);
清空集合:list.clear();
判斷集合中是否存在某個元素(存在返回true,不存在返回false):list.contains(e);
對比兩個集合中的所有元素:
兩個對象一定相等:list.equals(list2);
兩個對象不一定相等:list.hashCode() == list2.hashCode();
(兩個相等對象的equals方法一定為true, 但兩個hashcode相等的對象不一定是相等的對象。)
獲得元素下標:
元素存在則返回找到的第一個元素的下標,不存在則返回-1:list.indexOf(e);
元素存在則返回找到的最後一個元素的下標,不存在則返回-1:list.lastIndexOf(e);
判斷集合是否為空(空則返回true,非空則返回false):list.isEmpty();
返回Iterator集合對象:list.iterator();
將集合轉換為字元串:list.toString();
截取集合(從fromIndex開始在toIndex前結束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);
將集合轉換為數組:
默認類型:list.toArray();
指定類型(objects為指定類型的數組對象,並將轉換好的數組賦值給objects數組):list.toArray(objects);
以上為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 這樣結構 List<List<實體>> ,我怎麼通過反射獲得內層List的類型,又怎麼得到實體的類型
你為什麼要這樣做呢?感覺沒有意義啊。你的問題類似於這樣。Persona=clazz.newInstance();你要把person這個聲明方法用反射得到是不可能的。一般反射是用來寫框架用的,平常的代碼很少用到。創建對象可以用工廠模式
❹ Java List 用法
importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassListDemo{
publicstaticvoidmain(String[]args){
Listlist=newArrayList();
//添加常規元素
list.add("hello");
list.add("world");
list.add("test");
System.out.println(list);
//插入一個新元素
list.add(2,"insertintoanewwordinthe2place");
System.out.println(list);
//刪除
list.remove(1);
System.out.println("remove:"+list);
//獲取
System.out.println("第二個list元素是:"+list.get(1));
System.out.println("bcde的索引位置是:"+list.indexOf("bcde"));
//修改
list.set(1,"listsetelement");
System.out.println("修改第二個元素:"+list);
//迭代取出集合中的所有元素
for(Iteratoriterator=list.iterator();iterator.hasNext();){
System.out.println("迭代取出集合中的所有元素:"+iterator.next());
}
//list集合特有的取出方式
for(inti=0;i<list.size();i++){
System.out.println("list集合特有的取出方式:"+list.get(i));
}
}
}
❺ java 中創建list的語法
List是介面,不能被實例化,所以不能寫new List<T>()。
兩邊不一定一樣,可以左邊類是右邊類的父類,或左邊是右邊所實現的介面。
我們通常的寫法就是把List的各種實現比如ArrayList,LinkedList等聲明成List,這樣的好處是如果以後我們需要改動比如把這個類從ArrayList改成LinkedList我們可以直接改動後面,而不必更改聲明部分。
❻ java數據結構 ,初學,要求用list類建立一個無序列表,內容可由文件輸入,求過程!T^T
您好,提問者:
ArrayList是有序的,無序的是HashSet。
如果想要List無需輸入也不是不可能。
我們都知道ArrayList其實底層就是一個數組,那麼Arrays類中有一個asList(數組)方法可以將其轉換為List,我們可以隨機存入數組,判斷如果有重復則不存入,最後將其轉換為ArrayList即可。
❼ java中JList方法,ListModel構造List
定義、初始化、並傳遞給構造函數
一個例子
javax.swing.DefaultListModel lm = new javax.swing.DefaultListModel(); //定義、並新建實例
//lm.addElement(Object obj);/////////添加Item(s) ----- 初始化
JList jlist=new JList(lm); //賦予
//DefaultListModel 是介面ListMode的一種實現
❽ java中List的用法盡量詳細解釋,包括例子。
List 集合中的對象按照一定的順序排放,裡面的內容可以重復。
List介面實現的類:ArrayList(實現動態數組), Vector(實現動態數組) ,LinkedList(實現鏈表), Stack(實現堆棧)
一 list介面
1.java.util.ArrayList類實現一個可增長的動態數組,平時用的比較多的就是add()方法,其它方法
請參考API幫助文檔。使用該方法向集合內添加對象,並且這些對象是按照一定的順序排列
的,它內部原理是數組實現的,因此處理數據量較大時,不建議使用。
public class TestArrayList {
public static void main(String[] args) {
//聲明List 並實例化為ArrayList
List al = new ArrayList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍歷出集合的元素並列印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
}
3.java.util.Vector(向量)類 與ArrayList類似的也是實現一個動態的數組,該向量可以隨意的增長以存放更多的對象
public class TestArrayList {
public static void main(String[] args) {
//聲明List 並實例化為Vector
List al = new Vector();
//使用add()方法添加對象
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍歷出集合的對象並列印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
}
3.java.util.LinkedList類實現了鏈表,可初始化化為空或者已存在的集合,通常使用以下方法
add();向鏈表末尾添加對象。
addFirst()在鏈表開頭添加對象。
addLast()在鏈表末尾添加對象。
getFirst()得到鏈表開頭的對象。
getLast()得到鏈表末尾的對象。
注意該類提供了隨機訪問列表中的元素的方法,但是底層依然必須遍歷去查找隨機訪問的對象,因此性能依然有限.
public static void main(String[] args) {
//聲明LinkedList並實例化
LinkedList al = new LinkedList();
//使用add()方法添加元素
al.add("a");
al.add("b");
al.add("c");
al.add("d");
//使用Iterator迭代器遍歷出集合的元素並列印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
System.out.println("_____");
//向鏈表頭和尾分別添加x和z
al.addFirst("z");
al.addLast("x");
//遍歷查看添加後的結果
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
4.java.util.Stack類實現了堆棧數據結構,即按照先進後出的原則存放數據。創建時只能為空。
使用push()方法進行添加對象
public static void main(String[] args) {
//聲明Stack並實例化
Stack al = new Stack();
//使用push()方法添加元素
al.push("a");
al.push("b");
al.push("c");
al.push("d");
al.push("f");
//使用Iterator迭代器遍歷出集合的元素並列印
for(Iterator i = al.iterator();i.hasNext(); ){
String str = (String) i.next();
System.out.println(str);
}
}
❾ JAVA中的ArrayList構造
作用域的問題,你每循環一次,都聲明一個對象,然後循環執行完了就釋放掉,最後,你准備干什麼呢?