A. 關於java的容器類 list,map等的toString()方法
我今天也遇到了同樣的問題,翻了下api搞懂了一點。
List是一個介面,你使版用List肯定沒法直接權new一個對象出來,常見的是new一個ArrayList類的對象,向上轉型賦給List介面的對象。那所以在調用List介面對象的toString方法也就是在調用ArrayList的toString方法了。
我查了jdk的api,發現所有實現了List介面的類,只有CopyOnWriteArrayList這個類不是同時繼承自AbstractCollection類的。其他實現了List介面的類都同時繼承自AbstractCollection類,所以它們都有AbstractCollection類的toString方法。
而且,CopyOnWriteArrayList類雖然沒有繼承AbstractCollection類,但是自己重寫了toString方法。
所以,使用到List對象的地方肯定是一個上轉型對象,否則無法實例化,而所有的實現List介面的類都有一個重寫後的toString方法。因此,即使沒看到List介面有對toString的定義,它的對象卻有著可讀性強的toString方法。
B. java把一個list中的內容添加到另一個list中
在JAVA中,想要把一個list中的內容添加至另一個list中,有兩種方法:
採用循環的方法。通過循環第一個ArrayList,然後通過每循環一次的方式,將值賦值給另一個ArrayList。具體代碼實現如下:
2.集合是Java API所提供的一系列類,可以用於動態存放多個對象。集合與數組的不同在於,集合是大小可變的序列,而且元素類型可以不受限定,只要是引用類型。集合中不能放基本數據類型,但可以放基本數據類型的包裝類。 集合類全部支持泛型,是一種數據安全的用法。java列表是集合的一種,並且列表中的元素是有序的,且允許重復。java列表又稱為java list。
C. java里 list順序是固定的嗎,是有序的嗎
list是有序的,是以數組的存儲方式進行存儲.也就是說數組什麼樣它就什麼樣,唯一的區別就版是,它沒有固定大小權. 且list的檢索效率比較高,不過要頻繁的對這個容器里的元素進行更新就不要用它了,用linkedlist比較好.
順序放進去是不會亂的,舉個例子,一個list,第一個放進去是1,第二個放進去是2:
List<Integer> numList=new ArrayList<>();
numList.add(1);
numList.add(2);
當你取第一個時numList.get(0);(下標從0開始)
列印它出來還是:1
List 介面下ArrayList 特點是: 插入數據 有序且可重復 適合查找多增刪少。
D. java中list的使用方法
LIST是個容器介面,可以理解為動態數組,傳統數組必須定義好數組的個數才可以使用,而容器對象無須定義好數組下標總數,用add()方法即可添加新的成員對象,他可以添加的僅僅只能為對象,不能添加基本數據類型,容器還對應get(),remove()方法來獲取和刪除數據成員