day18 arraylist

1.arraylist只存對象類型
2.collection頂層接口,一路是list(arraylist,linkedlist),一是set(hashset,linkedhashset)
3.list有序可重復(fù)元素,set無序不可有重復(fù)元素
4.僅有三種長度方法·:array.length(),Stirng.length(),集合.size()
5.toarray()集和轉(zhuǎn)成數(shù)組,集合是可變數(shù)組,數(shù)組存入數(shù)據(jù)就不可變了
6.remove刪除指定元素,如有相同元素就刪除遇到的第一個

7.迭代器iterator

  • 迭代器本身就是遍歷:判斷有沒有(hasnext)下一位,有就返回true,之后將指針置于下一位并將元素取出來(next)
  • iterator it=new ArrayList().iterator()拿到接口實現(xiàn)類
while (it.hasNext()) {//hasnext判斷下一位有沒有,默認(rèn)是在-1位
        it.next();
//next一是把數(shù)組元素返出,一是將指針指到下一位hasnext本身不會移動指針
}
  • 迭代器僅能使用一次
  • for比while節(jié)省內(nèi)存但選while代碼簡潔
  • collection若不寫類型就object什么都可以存
  • jdk1.5之后增強(qiáng)for
arrlist<Integer> arr=new arraylist<integer>();
for (Integer a : arr) {
}
a被數(shù)組元素賦值但本身和數(shù)組本身無關(guān)
增強(qiáng)for不能操作數(shù)組無索引

8.泛型,克服安全問題(強(qiáng)轉(zhuǎn)出錯)指定集合存儲數(shù)據(jù)類型

  • java中泛型是偽泛型,僅在編譯中存在,在編譯后的運(yùn)行class文件沒有泛型存在
  • public class Arrlist<E> e指element變量,帶泛型的類
  • add是帶泛型的方法
  • E可以后期指定也可以直接指定

9.文件通配符.指任何文件

  • 泛型通配符
public void work(?){}
public void work(? extends Person){}//父類是person,子類不確定,可傳本類也可傳子類,泛型上限限定
public void work(?super Person){}子類是Person,父類不確定,傳父類傳本身,泛型下線限定
限定之后可以保證父類方法調(diào)用不出錯
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第十天 權(quán)限修飾符 public protected default private 同一類 true true ...
    炙冰閱讀 607評論 0 1
  • 1.Java集合框架是什么?說出一些集合框架的優(yōu)點? 每種編程語言中都有集合,最初的Java版本包含幾種集合類:V...
    joshul閱讀 413評論 0 2
  • 1.Java集合框架是什么?說出一些集合框架的優(yōu)點?每種編程語言中都有集合,最初的Java版本包含幾種集合類:Ve...
    yjaal閱讀 1,247評論 1 10
  • 1.Java集合框架是什么?說出一些集合框架的優(yōu)點? 每種編程語言中都有集合,最初的Java版本包含幾種集合類:V...
    Oneisall_81a5閱讀 962評論 0 10
  • 養(yǎng)蘭花,花友最不想見到的是蘭花葉子發(fā)黃,焦黑,不僅毀了容,還可能導(dǎo)致死亡。蘭花葉子焦黃,發(fā)黑,注意這4個原因,學(xué)幾...
    南國小花匠閱讀 531評論 0 0

友情鏈接更多精彩內(nèi)容