日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

head first java ( 16章 )

發(fā)布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 head first java ( 16章 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

java 有現(xiàn)成的數(shù)據(jù)結(jié)構(gòu)可以使用

ArrayList不是唯一的集合, TreeSet, HashMap, LinkedList 等等都是集合,但是,

實際上還是 ArrayList 比較實用

- 泛型中重要的事情( <>代表泛型 )

? 1. 創(chuàng)建ArrayList時你必須指定它所容許的對象, 就像單純數(shù)組那樣.

? 2. 多態(tài)遇到泛型, 例如 ArrayList<Animal> = new ArrayList<Dog>(), ArrayList<Dog> = new ArrayList<Animal>()

???? 顯然,上面藍色的可以, 紅色的不行, 你將Dog作為值傳遞給Animal, 這沒有問題, dog 當然時動物, 但是反過來就不行了.

? 3. 如何取用泛型里的元素

- ArrayList 類

? public class ArrayList<E> extends AbstractList<E> implements List<E> {

??? public boolean add ( E o )

? }

? // 以上代碼中的 E 可以用 T等任意字母替換

- 運用泛型的方法

?

?

?

? 注意: 以上看著有點蒙,分解一下就好了(看下圖)

?

? -- ArrayList 類定義( 所以該類得全稱應該是 ArrayList<T>, 其中T是參數(shù)類型 )

? public class ArrayList<T> extends AbstractList<E> implements List<E>

- LIST, SET, MAP?

? List: 知道索引順序,對付順序是好手

? Set: 不準許重復

? Map: 用key來搜索

- 相等性問題

?

?

如果改寫了 equals 方法就必須要改寫 hascode方法

數(shù)組的類型是在運行期間檢查的,但是集合類型檢查只會發(fā)生在編譯期間(不能多態(tài))

所以,引入萬用類型, 比如 T

public <T extends Animal> void takeThing(ArrayList<T> list)

public void takeThing(ArrayList<? extends Animal> list)

以上兩行程序是等價的, 第一行的把類型提前了,更好看一點

轉(zhuǎn)載于:https://www.cnblogs.com/moveofgod/archive/2013/04/18/3027816.html

總結(jié)

以上是生活随笔為你收集整理的head first java ( 16章 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。