安卓arraylist什麼意思
『壹』 task是什麼ArrayList又是什麼
ArrayList是動態數組,數組的大小能根據你存放的對象自動調整,Task是一個類,至於是不是系統類要看你這代碼是在什麼情況下用了,如果是你也可以去找找JDK的API文檔查查嗎,很容就知道了。
『貳』 java中Arraylist是干什麼的怎麼用
java中的ArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的復雜版本。
它提供了如下一些好處:動態的增加和減少元素實現了ICollection和IList介面靈活的設置數組的大小 。
ArrayList 的用法:
ArrayList List = new ArrayList(); for( int
i=0;i<10;i++ ) //
給數組增加10個Int元素 List.Add(i); //..
程序做一些處理
List.RemoveAt(5);//
將第6個元素移除 for( int i=0;i<3;i++ ) //
再增加3個元素
List.Add(i+20); Int32[] values =
(Int32[])List.ToArray(typeof(Int32));//
返回ArrayList包含的數組 。
(2)安卓arraylist什麼意思擴展閱讀:
Arraylist的定義:
List 介面的大小可變數組的實現,位於API文檔的java.util.ArrayList<E>。
實現了所有可選列表操作,並允許包括 null 在內的所有元素。
除了實現 List 介面外,此類還提供一些方法來操作內部用來存儲列表的數組的大小。(此類大致上等同於 Vector 類,除了此類是不同步的。)
size、isEmpty、get、set、iterator 和 listIterator 操作都以固定時間運行。
add 操作以分攤的固定時間 運行,也就是說,添加 n 個元素需要 O(n) 時間。
其他所有操作都以線性時間運行(大體上講)。
與用於 LinkedList 實現的常數因子相比,此實現的常數因子較低。
每個 ArrayList 實例都有一個容量。該容量是指用來存儲列表元素的數組的大小。
它總是至少等於列表的大小。隨著向 ArrayList 中不斷添加元素,其容量也自動增長。
並未指定增長策略的細節,因為這不只是添加元素會帶來分攤固定時間開銷那樣簡單
在添加大量元素前,應用程序可以使用
ensureCapacity 操作來增加 ArrayList
實例的容量。這可以減少遞增式再分配的數量。
注意,此實現不是同步的。如果多個線程同時訪問一個 ArrayList
實例,而其中至少一個線程從結構上修改了列表,那麼它必須 保持外部同步。
(結構上的修改是指任何添加或刪除一個或多個元素的操作,或者顯式調整底層數組的大小;僅僅設置元素的值不是結構上的修改。)
這一般通過對自然封裝該列表的對象進行同步操作來完成。
如果不存在這樣的對象,則應該使用 Collections.synchronizedList 方法將該列表「包裝」起來。這最好在創建時完成,以防止意外對列表進行不同步的訪問:
List list = Collections.synchronizedList(new ArrayList(...));
此類的 iterator 和 listIterator 方法返回的迭代器是快速失敗的。
在創建迭代器之後,除非通過迭代器自身的
remove 方法從結構上對列表進行修改,否則在任何時間以任何方式對列表進行修改,迭代器都會拋出
。
因此,面對並發的修改,迭代器很快就會完全失敗,而不是冒著在將來某個不確定時間發生任意不確定行為的風險。
注意,迭代器的快速失敗行為無法得到保證。
因為一般來說,不可能對是否出現不同步並發修改做出任何硬性保證。快速失敗迭代器會盡最大努力拋出
。
因此,為提高這類迭代器的正確性而編寫一個依賴於此異常的程序是錯誤的做法:迭代器的快速失敗行為應該僅用於檢測
bug。
『叄』 安卓中什麼是arraylist
ArrayList和List區別: ArrayList是List的子類,也就是說List可以使用的方法ArrayList都可以用,但是ArrayList可能還有其他List沒有的方法。 術語叫 「泛型」,意思是集合中的元素只能是「String」類型。 items = new ArrayList();這個代碼不叫「使用...
『肆』 Android ArrayList數組
List<JSONObject>b=newArrayList<JSONObject>();
for(JSONObjectobj:chidlMenu){
b.add(JSONObject.fromObject("{Instry:"+obj.get("Instry").toString()+"}"));
}
對不起,剛剛測試沒通過.現在這個可以了.
『伍』 Android 中ArrayList和LinkedList有什麼區別
ArrayList採用的是數組形式來保存對象的,這種方式將對象放在連續的位置中,所以最大的缺點就是插入刪除時非常麻煩
LinkedList採用的將對象存放在獨立的空間中,而且在每個空間中還保存下一個鏈接的索引但是缺點就是查找非常麻煩要叢第一個索引開始
Hashtable和HashMap類有三個重要的不同之處。第一個不同主要是歷史原因。Hashtable是基於陳舊的Dictionary類的,HashMap是Java1.2引進的Map介面的一個實現。
也許最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。這就意味著,雖然你可以不用採取任何特殊的行為就可以在一個多線程的應用程序中用一個Hashtable,但你必須同樣地為一個HashMap提供外同步。一個方便的方法就是利用Collections類的靜態的synchronizedMap()方法,它創建一個線程安全的Map對象,並把它作為一個封裝的對象來返回。這個對象的方法可以讓你同步訪問潛在的HashMap。這么做的結果就是當你不需要同步時,你不能切斷Hashtable中的同步(比如在一個單線程的應用程序中),而且同步增加了很多處理費用。
第三點不同是,只有HashMap可以讓你將空值作為一個表的條目的key或value。HashMap中只有一條記錄可以是一個空的key,但任意數量的條目可以是空的value。這就是說,如果在表中沒有發現搜索鍵,或者如果發現了搜索鍵,但它是一個空的值,那麼get()將返回null。如果有必要,用containKey()方法來區別這兩種情況。
一些資料建議,當需要同步時,用Hashtable,反之用HashMap。但是,因為在需要時,HashMap可以被同步,HashMap的功能比Hashtable的功能更多,而且它不是基於一個陳舊的類的,所以有人認為,在各種情況下,HashMap都優先於Hashtable。
關於Properties
有時侯,你可能想用一個hashtable來映射key的字元串到value的字元串。DOS、Windows和Unix中的環境字元串就有一些例子,如key的字元串PATH被映射到value的字元串C:WINDOWS;C:WINDOWSSYSTEM。Hashtables是表示這些的一個簡單的方法,但Java提供了另外一種方法。
Java.util.Properties類是Hashtable的一個子類,設計用於Stringkeys和values。Properties對象的用法同Hashtable的用法相象,但是類增加了兩個節省時間的方法,你應該知道。
Store()方法把一個Properties對象的內容以一種可讀的形式保存到一個文件中。Load()方法正好相反,用來讀取文件,並設定Properties對象來包含keys和values。
注意,因為Properties擴展了Hashtable,你可以用超類的put()方法來添加不是String對象的keys和values。這是不可取的。另外,如果你將store()用於一個不包含String對象的Properties對象,store()將失敗。作為put()和get()的替代,你應該用setProperty()和getProperty(),它們用String參數。
『陸』 安卓 JAVA定義Arraylist的一點小問題。求解決。
static ArrayList<BOOK> list = new ArrayList<BOOK>(); 把list 改成全局的
調用的時候直接類名.list 調用 這樣你添加的地方 和取的地方才是同一個list
你前面那種做法 /這是另一個類實現增加功能,調用addBook方法往數組裡面加了值。 增加的功能 new 了一個fangfa 調用list 添加了書籍
後面查詢的時候 又new 了一個fangfa 這是2個對象不同的list
我猜你現在的情況是這樣的
class fangfa {
ArrayList<BOOK> list = new ArrayList<BOOK>();
public fangfa() {
jia();
}
public void jia() {
}
public ArrayList<BOOK> getList() {
return list;
}
public void setList(ArrayList<BOOK> list) {
this.list = list;
}
public Boolean addBOOK(BOOK b) {
String id = b.getId();
for (int i = 0; i < list.size(); i++) {
BOOK book = list.get(i);
String id1 = book.getId();
if (id.equals(id1)) {
return false;
}
}
list.add(b);
return true;
}
}
class BOOK {
private String id;
private String name;
private String price;
public BOOK(String id, String name, String price) {
this.id = id;
this.name = name;
this.price = price;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
}
class addClass{
public void add(){
fangfa ff = new fangfa();
BOOK b = new BOOK("1","水滸","29");
ff.addBOOK(b);
}
}
public class Test{
public static void main(String args[]){
addClass ac = new addClass();
ac.add();
fangfa ff = new fangfa();
List<BOOK> list = ff.getList();
for(BOOK book:list){
System.out.println(book.getName());
}
}
}
static ArrayList<BOOK> list = new ArrayList<BOOK>(); 加上static 就可以得到了, 你可以自己試驗一下
『柒』 Array和ArrayList分別是什麼意思比較它們的異同點
Array和ArrayList的異同點
一、Array和ArrayList的區別
#1. Array類型的變數在聲明的同時必須進行實例化(至少得初始化數組的大小),而ArrayList可以只是先聲明。
如:
int[] array = new array[3];
或 int[] array = {1,2,3};
或 ArrayList myList = new ArrayList();
這些都是合法的,而直接使用 int[] array;是不行的。
#2. Array只能存儲同構的對象,而ArrayList可以存儲異構的對象。
同構的對象是指類型相同的對象,若聲明為int[]的數組就只能存放整形數據,string[]只能存放字元型數據,但聲明為object[]的數組除外。
而ArrayList可以存放任何不同類型的數據(因為它裡面存放的都是被裝箱了的Object型對象,實際上ArrayList內部就是使用"object[] _items;"這樣一個私有欄位來封裝對象的)
#3 在CLR託管對中的存放方式
Array是始終是連續存放的,而ArrayList的存放不一定連續。
#4 初始化大小
Array對象的初始化必須只定指定大小,且創建後的數組大小是固定的,而ArrayList的大小可以動態指定,其大小可以在初始化時指定,也可以不指定,也就是說該對象的空間可以任意增加。
#5 Array不能夠隨意添加和刪除其中的項,而ArrayList可以在任意位置插入和刪除項。
二、Array和ArrayList的相似點
#1 都具有索引(index),即可以通過index來直接獲取和修改任意項。
#2 他們所創建的對象都放在託管堆中。
#3 都能夠對自身進行枚舉(因為都實現了IEnumerable介面)。
註:
在C#2.0中,建議大家盡量使用范型版的ArrayList,即System.Collection.Generics命名空間下的List<T>,這樣不但保證了類型安全,而且由於沒有了裝箱和拆箱的過程,從而提高了對象處理的效率。
『捌』 在android中 List 和ArrayList的區別,越詳細越好
List是一個介面,而ArrayList是List的一個實現類,對於android和J2SE來講,兩者之間的區別不大。
『玖』 Android ArrayList問題
ArrayList array = new ArrayList();
array.Add("20151201115740");
array.Add("20141202090740");
array.Add("20151130090130");
if (array.Contains("20151130090130"))
{
System.out.print("包含");
}