国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

馴服Tiger(J2SE5.0)之集合框架

2019-11-17 06:14:13
字體:
供稿:網(wǎng)友

  您可能已經(jīng)非常熟悉新的J2SE5.0語言的泛型支持、并發(fā)工具庫以及它們對集合框架的影響,但是這些并不是J2SE5.0中集合框架的惟一變化。本文將介紹另外幾項增強(qiáng),其中包括新的集合類型,以及現(xiàn)有類和接口的附加特性。

  JDK 5.0 中最吸引人的地方在于集合框架的一些最突出的特性上,例如:支持泛型的語言級別上的新變化,以及可以在 java.util.concurrent 包中找到的并發(fā)集合工具包。在本文中,我將研究其他三個變化:更新過的 Arrays 和 Collections 類、新的 Queue 接口以及它的 PRiorityQueue 實現(xiàn)。

  數(shù)組(Array)

  Arrays 類提供了一系列處理數(shù)組的靜態(tài)工具方法,這些索引的數(shù)據(jù)結(jié)構(gòu)的大小是固定的。在 5.0 版本之前,Arrays 類擁有針對原始數(shù)據(jù)庫類型和通用 Object 類型的每種不同數(shù)組類型的 binarySearch()、equals()、fill() 和 sort() 方法。用于將 Object 數(shù)組轉(zhuǎn)換成 List 的附加 asList() 方法仍然有用。Tiger 為所有數(shù)組添加了 hashCode() 和 toString() 方法,還添加了特定于 Object 數(shù)組的 deepEquals()、deepHashCode() 和 deepToString() 方法??傆嬘?21 個新方法可用:
  • public static boolean deepEquals(Object[] a1, Object[] a2)
  • public static int deepHashCode(Object[] a)
  • public static String deepToString(Object[] a)
  • public static int hashCode(boolean[] a)
  • public static int hashCode(byte[] a)
  • public static int hashCode(char[] a)
  • public static int hashCode(double[] a)
  • public static int hashCode(float[] a)
  • public static int hashCode(int[] a)
  • public static int hashCode(long[] a)
  • public static int hashCode(Object[] a)
  • public static int hashCode(short[] a)
  • public static String toString(boolean[] a)
  • public static String toString(byte[] a)
  • public static String toString(char[] a)
  • public static String toString(double[] a)
  • public static String toString(float[] a)
  • public static String toString(int[] a)
  • public static String toString(long[] a)
  • public static String toString(Object[] a)
  • public static String toString(short[] a)
  自從集合框架初次出現(xiàn)在 J2SE 1.2 中以來,人們第一次對實用工具類進(jìn)行了更改。我無法確定為什么 Sun 要等這么久才進(jìn)行更改,但是對于可用的幫助器方法系列來說,這些更改是受歡迎的添加。

  新添加的第一個方法是 hashCode()。對于任意數(shù)組類型,都可以調(diào)用 Arrays.hashCode(arrayVar) 方法來獲得格式良好的哈希碼。這個哈希碼可以用作 HashMap 或者其他相關(guān)目的的鍵。假如您不知道如何生成良好的哈希碼,那么最好使用 Arrays 類,它能產(chǎn)生更少沖突。Arrays 類生成等價于擁有相同元素的 List 的代碼。

  在創(chuàng)建自己的類時,既需要提供 equals() 方法,又需要提供 hashCode() 方法。在 Arrays 的新方法 hashCode() 的幫助下,可以為任何本地數(shù)組類型生成哈希碼,而不用在每次需要它的時候折騰您自己。

  所有數(shù)組類型都可用的另一個方法是 toString()。對于任何數(shù)組類型,都可以調(diào)用 Arrays.toString(arrayVar) 獲得逗號分隔的元素列表,列表用方括號包圍,如清單 1 的程序所示:

清單 1. 用 Arrays.toString 生成字符串
 import java.util.Arrays; public class ArgsToString {   public static void main(String args[]) {     System.out.println(Arrays.toString(args));   } } 

  清單 2 顯示了結(jié)果:

清單 2. 清單 1 的結(jié)果


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 高青县| 张家川| 武功县| 台东县| 聂荣县| 涞源县| 临泽县| 兴海县| 武山县| 安塞县| 岳阳市| 郧西县| 同江市| 乃东县| 沛县| 焉耆| 武强县| 师宗县| 石家庄市| 武宣县| 藁城市| 年辖:市辖区| 元朗区| 五大连池市| 水富县| 乌什县| 修文县| 皮山县| 涞源县| 乌拉特中旗| 靖西县| 房产| 丰镇市| 汪清县| 博兴县| 福安市| 合肥市| 革吉县| 湖南省| 凤山市| 六安市|