1樓:匿名使用者
其實不應該說是兩者的區別的,他們是一個包含的關係!
在物件導向程式設計中有一個術語,叫泛化,而這個泛型的**正是**於這裡!所謂的泛型就是指的儲存的是其父型別,而實現使用時宣告好子型別而已。
不管是在java還是c#中,所有的型別都是基於object這個基礎型別的。可以認為所有的其他型別都是object的泛型。
而泛型集合指的就是將這些泛型放在一起的集合,但在使用前必須選進型別加以加說明。
如list就是一個泛型集合,可以將所有的泛合放在該集合中來。但前提時必須選宣告t的型別,否則不能進行放入。這個涉及到了儲存的問題,當初如果我們對於一些集合來說,比如我們可以宣告這樣的陣列int a = new int[10];一旦宣告,其大小不可改變,如果事選我們不知道要存入多少個,假定在存10個int,你用int a = new int[10];當然沒有人反對,但問題是隨著程式的執行我們可以要我不至10個,而這個陣列卻無法對其進行加長;或者你可能會說,管他呢int a = new int[1000];肯定夠用,但那樣又有諸多的內在空間在浪費!
所以我們考慮到了另一個型別array這個很不錯的,但是由於array在放入到必須進行打包,取出時拆包,極大的浪費了cpu的利用。
那麼在.*** framework2.0中新增了關於泛型的支援,也就是實現了ilist介面,他既有array的特性又具有長度可以增大添小的特點,還是還是避免了打包問題,這也是在.
*** 2.0之後微軟說,沒有事後話大家都用arraylist等支援泛型的原因!
事實上由於長期的習慣,泛型我們指的就是實現ilist介面的陣列之類的集合型別,所以我們在稱泛型或是泛型集是時,實際上是同一概念!
java集合和泛型集合的區別?
2樓:洳樂一
實不應該說是兩者的區別的,他們是一個包含的關係!
在物件導向程式設計中有一個術語,叫泛化,而這個泛型的**正是**於這裡!所謂的泛型就是指的儲存的是其父型別,而實現使用時宣告好子型別而已。
不管是在java還是c#中,所有的型別都是基於object這個基礎型別的。可以認為所有的其他型別都是object的泛型。
而泛型集合指的就是將這些泛型放在一起的集合,但在使用前必須選進型別加以加說明。
泛型與非泛型集合的區別?泛型相對於非泛型有哪些好處? 5
3樓:下一個往站
帶泛型的集合是比如list並在類中定義一個泛型的陣列e arr,非泛型的一個則是list,然後明確在list中定義一個具體型別的陣列type arr.
泛型: class x public e x2() {} public void x3() }
可以限定泛型的範圍,比如class x,就是x的e必須是一個y的子類或介面實現
這樣泛型的靈活在於e可以是任意型別,你不必為了同樣的類只是處理資料型別不同而寫兩遍:
比如:class a }
使用c和c就可以直接定義a和b
另外就是class x,如有個變數為x<?> var或x var,就相當於xvar.這也很有用.
比如一個列表可能有不同型別的值,我們能使用
arraylist list = new arraylist();
list.add(new integer(1)); list.add(new string("aaaa")); list.add(new person());
處理的時候使用:
object x = list.get(index);
if(x instanceof integer)
else if(x instanceof string)
else if(x instanceof person)
else
這就是泛型的原理,也就是說非泛型可以實現泛型.
java 泛型類和泛型方法的區別
4樓:好程式設計師
在java中
泛型類:是在例項化類的時候指明泛型的具體型別。
泛型方法:是在呼叫方法的時候指明泛型的具體型別。
定義泛型方法時:必須在返回值前邊加一個,來宣告這是一個泛型方法,持有一個泛型t,然後才可以用泛型t作為方法的返回值,泛型方法不是僅僅可以有一個引數class,可以根據需要新增其他引數。
定義泛型類時:class的作用就是指明泛型的具體型別,而class型別的變數c,可以用來建立泛型類的物件
c泛型和java泛型的區別,java泛型類和泛型方法的區別
泛型技術在c 和java之中的使用方式看似相同,但實現上卻有著根本性的分歧,c 裡面泛型無論在程式原始碼中 編譯後的il中 intermediate language,中間語言,這時候泛型是一個佔位符 或是執行期的clr中都是切實存在的,list與list就是兩個不同的型別,它們在系統執行期生成,有...
java中泛型的作用,java中泛型的作用
初學java,看了thinking in java的泛型一章,java泛型我只看到一個作用 能夠進行編譯期間型別檢查。除此之外還有什麼作用呢?特別的是跟 泛型 這個詞有關係的作用?由於擦除的關係,能用java泛型寫的 直接針對object類來寫就能達到目的 只是沒了編譯期型別檢查另外某些地方要自己新...
泛型的作用是什麼,java中泛型是什麼意思,作用是什麼?
它有什麼優勢?它對效能有影響嗎?它在執行時的行為是什麼?bcl中有哪些泛型型別?舉例說明平時程式設計中您定義的泛型型別。泛型的作用在於 演算法的重用 這點其實很好理解,原來的arraylist只能接受object,現在通過list可以接受任何型別,也就是說arraylist的方法都被各個型別重用了。...