如何操縱Java數(shù)組的實(shí)際應(yīng)用方法解_第1頁(yè)
如何操縱Java數(shù)組的實(shí)際應(yīng)用方法解_第2頁(yè)
如何操縱Java數(shù)組的實(shí)際應(yīng)用方法解_第3頁(yè)
如何操縱Java數(shù)組的實(shí)際應(yīng)用方法解_第4頁(yè)
如何操縱Java數(shù)組的實(shí)際應(yīng)用方法解_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、如何操縱Java數(shù)組的實(shí)際應(yīng)用方法解 (T117 如果你做過很多Java程序,你可能對(duì)Java集合類很熟悉,例如Vector和ArrayList。你可以創(chuàng)建一個(gè)集合并向其中增加元素:List lst = new ArrayList(; lst.add(new Integer(37;在這個(gè)特殊的范例中,一個(gè)整型值37用于構(gòu)造一個(gè)Integer封裝類對(duì)象,然后那個(gè)對(duì)象被加入到列表。 這個(gè)簡(jiǎn)單的范例展示集合的一個(gè)基礎(chǔ)他們用于操縱一列對(duì)象,其中的每個(gè)對(duì)象是一個(gè)類或者接口類型。因此,一個(gè)ArrayList可以包含Object,String,Float以及Runnable類型的對(duì)象。集合類不能用于原始數(shù)據(jù)

2、類型的列表,例如整型數(shù)組。 如果你在你的程序中使用原始類型的數(shù)組,你如何操縱它們呢?這個(gè)技巧就給你展示幾個(gè)你可以使用的技術(shù)。 第一個(gè)技術(shù)是排序。Java.util.Arrays類包含一套排序和查找數(shù)組的類方法,例如: import Java.util.Arrays; public class ArrayDemo1 public static void main(String args int vec = 37, 47, 23, -5, 19, 56; Arrays.sort(vec; for (int i = 0;i < vec.length; i+ System.out.println

3、(veci; 這個(gè)演示程序初始化一個(gè)整數(shù)數(shù)組然后調(diào)用Arrays.sort升序排序那個(gè)數(shù)組。類似的,你可以在排完序的數(shù)組上進(jìn)行二分法查找: import java.util.Arrays; public class ArrayDemo2 public static void main(String args int vec = -5, 19, 23, 37, 47, 56; int slot = Arrays.binarySearch(vec, 35; slot = -(slot + 1; System.out.println("insertion point = " +

4、slot; 這個(gè)程序有個(gè)微妙的概念,如果二分法查找失敗它將返回: -(insertion point - 1這個(gè)演示程序以參數(shù)35調(diào)用查找方法,而那個(gè)參數(shù)在數(shù)組中不存在,方法返回值4,如果這個(gè)值加一再取其負(fù)數(shù)就得到3,這就是35應(yīng)該被插入到數(shù)組中的位置,換言之,值-5, 19和23在數(shù)組中占據(jù)的位置是0,1和2。因此值35應(yīng)該在索引3的位置,而37, 47以及56順延。搜索方法并不進(jìn)行實(shí)際的插入操作而只是指出應(yīng)該在何處插入。 除了排序和查找,我們還可以對(duì)原始類型數(shù)組做什么?另一個(gè)有用的技術(shù)是將一個(gè)原始數(shù)組轉(zhuǎn)換為等價(jià)的對(duì)象類型數(shù)組。每個(gè)對(duì)應(yīng)元素使用它們的封裝器類,例如在封裝數(shù)組中,37成為Int

5、eger(37。 import java.util.Arrays; import java.lang.reflect.Array; public class ArrayDemo3 / if input is a single-dimensionprimitive array, / return a new array consisting of wrapped elements, / else just return input argument public static Object toArray(Object vec / if null, return if (vec = null r

6、eturn vec; / if not an array or elements not primitive, return Class cls = vec.getClass(; if (!cls.isArray( return vec; if (!cls.getComponentType(.isPrimitive( return vec; / get array length and createObject output array int length = Array.getLength(vec; Object newvec = new Objectlength; / wrap and

7、copy elements for (int i = 0; i < length; i+ newveci = Array.get(vec, i; return newvec; public static void main(String args / create a primitive array int vec = new int1, 2, 3; / wrap it Object wrappedvec = (ObjecttoArray(vec; / display result for (int i = 0; i < wrappedvec.length; i+ span Sys

8、tem.out.println(wrappedveci; p 方法"toArray"的參數(shù)是一個(gè)Object對(duì)象(數(shù)組可以被賦值給一個(gè)Object引用。如果參數(shù)是null或者代表的不是原始類型數(shù)組那么這個(gè)方法簡(jiǎn)單的返回參數(shù)值。java.lang.Class工具類用于判斷參數(shù)是否是一個(gè)數(shù)組并獲取數(shù)組的底層元素的類型。 一旦做完這些檢查,使用Java.lang.reflect.Array工具類的反射工具方法就可以獲取原始數(shù)組的長(zhǎng)度并獲得數(shù)組的單個(gè)元素。Array.get獲得的每個(gè)元素被返回到封裝器類中,例如Integer或者Double。 最終的范例基于前面的那個(gè)并向你展示如何

9、在數(shù)組上使用集合特性。這假設(shè)你已經(jīng)有一個(gè)對(duì)象數(shù)組。 import java.util.Arrays; import java.util.List; public class ArrayDemo4 public static void main(String args Object vec =new Integer(37, new Integer(47; List lst = Arrays.asList(vec; lst.set(1, new Integer(57; for (int i = 0; i < vec.length; i+ System.out.println(veci; 在這

10、個(gè)程序中,vec是一個(gè)對(duì)象數(shù)組,包含Integer(37和Integer(47,然后Visitors to the pavilion are welcomed by 12 young volunteers from Shenzhen. They can speak both English and Chinese very well. The volunteers receive thousands of visitors each day.One of the walls in the Shenzhen pavilion is decorated with thousands of postcards. Visitors can write down their dreams and wishes on the cards. Visitors are all interested in the exhibition. A Shanghai visitor wrote, “Through the changes of Dafen Village, I feel the citys energy and see the hope of our country.”41.修改集合中的元素1 B. a

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論