




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1本章主要內(nèi)容n13.1 java集合框架概念n13.2 java.util.Collection接口n13.3 List接口n13.4 Set接口 n13.5 Map接口n13.6 泛型13.1 JAVA集合框架 集合框架?指存儲(chǔ)一系列的變量Java集合框架?常見(jiàn)數(shù)據(jù)結(jié)構(gòu)的類(lèi)數(shù)組VS集合1 數(shù)組大小固定: int a=new int5;集合框架大小不固定2 數(shù)組是一種一維結(jié)構(gòu)字典: 中文,英文(狗 Dog 貓 Cat)不同的集合框架功能: 存儲(chǔ)快,查詢(xún)快,實(shí)現(xiàn)更為復(fù)雜的功能。學(xué)學(xué)員員1學(xué)學(xué)員員20如何存儲(chǔ)每天的新聞信息?如何存儲(chǔ)每天的新聞信息?如果并不知道程序運(yùn)行時(shí)會(huì)需要多少對(duì)象,如果并不知
2、道程序運(yùn)行時(shí)會(huì)需要多少對(duì)象,可以可以使用使用Java集合框架集合框架一維數(shù)組一維數(shù)組新聞新聞1新聞新聞N每天的新聞總數(shù)每天的新聞總數(shù)不確定,太少浪不確定,太少浪費(fèi)空間,太多空費(fèi)空間,太多空間不足間不足存儲(chǔ)一個(gè)班學(xué)員信息,假定一個(gè)班容納存儲(chǔ)一個(gè)班學(xué)員信息,假定一個(gè)班容納20名學(xué)員名學(xué)員數(shù)組與集合框架的比較如何存儲(chǔ)軟件工程專(zhuān)業(yè)課程的代碼與課程信息,如何存儲(chǔ)軟件工程專(zhuān)業(yè)課程的代碼與課程信息,能夠通過(guò)代碼方便地獲得課程信息?能夠通過(guò)代碼方便地獲得課程信息?需要更復(fù)雜方式存儲(chǔ)對(duì)象需要更復(fù)雜方式存儲(chǔ)對(duì)象可以使用可以使用Java集合框架集合框架代碼代碼1代碼代碼N課程課程1課程課程N(yùn)一一對(duì)應(yīng)一一對(duì)應(yīng)集合框架
3、實(shí)現(xiàn)更為復(fù)雜方式存儲(chǔ)對(duì)象集合框架內(nèi)容n三大內(nèi)容:n接口:即表示集合的抽象數(shù)據(jù)類(lèi)型。接口提供了讓我們對(duì)集合中所表示的內(nèi)容進(jìn)行單獨(dú)操作的可能。n實(shí)現(xiàn):也就是集合框架中接口的具體實(shí)現(xiàn)。實(shí)際它們就是那些可復(fù)用的數(shù)據(jù)結(jié)構(gòu)。n算法:在一個(gè)實(shí)現(xiàn)了某個(gè)集合框架中的接口的對(duì)象身上完成某種有用的計(jì)算的方法,例如查找、排序等。這些算法通常是多態(tài)的,因?yàn)橄嗤姆椒梢栽谕粋€(gè)接口被多個(gè)類(lèi)實(shí)現(xiàn)時(shí)有不同的表現(xiàn)。事實(shí)上,算法是可復(fù)用的函數(shù)。如果你學(xué)過(guò)C+,那C+中的標(biāo)準(zhǔn)模版庫(kù)(STL)你應(yīng)該不陌生,它是眾所周知的集合框架的絕好例子。5集合框架對(duì)編程有什么好處呢集合框架對(duì)編程有什么好處呢6提高程序設(shè)計(jì)效率。提高程序速度和質(zhì)量
4、。集合框架通過(guò)提供對(duì)有用的數(shù)據(jù)結(jié)構(gòu)和算法的高性能和高質(zhì)量的實(shí)現(xiàn)使你的程序速度和質(zhì)量得到提高。集合框架鼓勵(lì)軟件的復(fù)用。對(duì)于遵照標(biāo)準(zhǔn)集合框架接口的新的數(shù)據(jù)結(jié)構(gòu)是可復(fù)用的。Java集合框架包含的內(nèi)容詳解1接口接口CollectionListMap2具體類(lèi)具體類(lèi)ArrayListLinkedListHashMap3算法算法Java集合框架為我們提供了一套性能優(yōu)良、使用方便的集合框架為我們提供了一套性能優(yōu)良、使用方便的接口和類(lèi),它們位于接口和類(lèi),它們位于java.util包中包中我們需學(xué)會(huì)如何使用它們,就可處理實(shí)際應(yīng)用中問(wèn)題我們需學(xué)會(huì)如何使用它們,就可處理實(shí)際應(yīng)用中問(wèn)題 Collections提供了對(duì)集
5、合進(jìn)行排序、提供了對(duì)集合進(jìn)行排序、遍歷等多種算法實(shí)現(xiàn)遍歷等多種算法實(shí)現(xiàn)SetTreeSetHashSetTreeMapn用用“集合框架集合框架”設(shè)計(jì)軟件時(shí),記住該框架四個(gè)基本設(shè)計(jì)軟件時(shí),記住該框架四個(gè)基本接口的層次結(jié)構(gòu)關(guān)系會(huì)有用處:接口的層次結(jié)構(gòu)關(guān)系會(huì)有用處:nCollection 接口是一組允許重復(fù)的對(duì)象。接口是一組允許重復(fù)的對(duì)象。 nSet 接口繼承接口繼承 Collection,但不允許重復(fù)。,但不允許重復(fù)。 nList 接口繼承接口繼承 Collection,允許重復(fù),并引入位置,允許重復(fù),并引入位置下標(biāo)。下標(biāo)。 nMap 接口既不繼承接口既不繼承 Set 也不繼承也不繼承 Colle
6、ction。 813.2 java.util.Collection接口nCollection(容器)接口是Collection層次結(jié)構(gòu)中的根接口nCollection表示一組對(duì)象,這些對(duì)象也稱(chēng)為collection 的元素(Elements)nJDK 不提供此接口的任何直接實(shí)現(xiàn)n由Collection接口派生的兩個(gè)接口是List和Set,JDK提供的容器類(lèi)都是這些子接口的類(lèi)實(shí)現(xiàn)n不論Collection的實(shí)際類(lèi)型如何,它都支持一個(gè)iterator()的方法,該方法返回一個(gè)迭代子,可逐一訪(fǎng)問(wèn)Collection中每一個(gè)元素 13.2 java.util.Collection接口 13.3 Lis
7、t接口nArrayList實(shí)現(xiàn)了長(zhǎng)度可變的數(shù)組,在內(nèi)存中分配連續(xù)的空間。遍歷元素和隨機(jī)訪(fǎng)問(wèn)元素的效率比較高nLinkedList采用鏈表存儲(chǔ)方式。插入、刪除元素時(shí)效率比較高ListArrayListLinkedList13.3.1 ArrayList集合類(lèi)n存儲(chǔ)多條小狗信息,獲取狗狗總數(shù),逐條打印出各條狗狗信息 n通過(guò)List接口的實(shí)現(xiàn)類(lèi)ArrayList實(shí)現(xiàn)該需求n元素個(gè)數(shù)不確定n要求獲得元素的實(shí)際個(gè)數(shù)n按照存儲(chǔ)順序獲取并打印元素信息ArrayList集合類(lèi)public class Test1 public static void main(String args) Dog ououDog
8、= new Dog(歐歐歐歐, 雪娜瑞雪娜瑞);Dog yayaDog = new Dog(亞亞亞亞, 拉布拉多拉布拉多);Dog meimeiDog = new Dog(美美美美, 雪娜瑞雪娜瑞);Dog feifeiDog = new Dog(菲菲菲菲, 拉布拉多拉布拉多);List dogs = new ArrayList();dogs.add(ououDog);dogs.add(yayaDog);dogs.add(meimeiDog);dogs.add(2, feifeiDog); / 添加添加feifeiDog到指定位置到指定位置System.out.println(共計(jì)有共計(jì)有 +
9、 dogs.size() + 條狗狗。條狗狗。);System.out.println(分別是:分別是:);for (int i = 0; i dogs.size(); i+) Dog dog = (Dog) dogs.get(i);System.out.println(dog.getName() + t+ dog.getType ();創(chuàng)建創(chuàng)建ArrayList對(duì)象并對(duì)象并把四個(gè)狗狗對(duì)象放入把四個(gè)狗狗對(duì)象放入其中其中輸出狗狗的數(shù)量輸出狗狗的數(shù)量獲取第獲取第i i個(gè)元素個(gè)元素 如何遍歷List集合n如何遍歷List集合呢?n方法1:通過(guò)for循環(huán)和get()方法配合實(shí)現(xiàn)遍歷n方法2:通過(guò)迭代器
10、Iterator實(shí)現(xiàn)遍歷 n所有集合接口和類(lèi)都沒(méi)有提供相應(yīng)遍歷方法,而是由Iterator實(shí)現(xiàn)集合遍歷nCollection 接口的iterate()方法返回一個(gè)Iterator,然后通過(guò)Iterator接口的兩個(gè)方法可實(shí)現(xiàn)遍歷nboolean hasNext(): 判斷是否存在另一個(gè)可訪(fǎng)問(wèn)的元素 nObject next(): 返回要訪(fǎng)問(wèn)的下一個(gè)元素迭代器Iteratorpublic class Test5 public static void main(String args) / 1、創(chuàng)建多個(gè)狗狗對(duì)象、創(chuàng)建多個(gè)狗狗對(duì)象Dog ououDog = new Dog(歐歐歐歐, 雪娜瑞雪娜瑞)
11、; / 2、創(chuàng)建、創(chuàng)建ArrayList集合對(duì)象并把多個(gè)狗狗對(duì)集合對(duì)象并把多個(gè)狗狗對(duì)象放入其中象放入其中List dogs = new ArrayList ();dogs.add(ououDog);System.out.println(使用使用Iterator遍歷,所有遍歷,所有狗狗昵稱(chēng)和品種是狗狗昵稱(chēng)和品種是:);Iterator it = dogs.iterator();while (it.hasNext() Dog dog = (Dog) it.next();System.out.println(dog.getName()+t+dog.getType();通過(guò)迭代器依次輸出通過(guò)迭代器依次
12、輸出所有狗狗的信息所有狗狗的信息ArrayList集合類(lèi)n擴(kuò)充以下幾部分功能n刪除指定位置的狗狗,如第一個(gè)狗狗n刪除指定的狗狗,如刪除feifeiDog對(duì)象n判斷集合中是否包含指定狗狗nList接口提供相應(yīng)方法remove()、contains(),直接使用即可 ArrayList集合類(lèi)public class Test2 public static void main(String args) / 1、創(chuàng)建多個(gè)狗狗對(duì)象、創(chuàng)建多個(gè)狗狗對(duì)象/ 2、創(chuàng)建、創(chuàng)建ArrayList集合對(duì)象并把多個(gè)狗狗對(duì)象放入集合對(duì)象并把多個(gè)狗狗對(duì)象放入其中其中System.out.println(刪除之前共計(jì)有刪除之
13、前共計(jì)有 +dogs.size() + 條狗狗。條狗狗。);dogs.remove(0);dogs.remove(feifeiDog);System.out.println(n刪除之后還有刪除之后還有 + dogs.size() + 條狗狗。條狗狗。); if(dogs.contains(meimeiDog)System.out.println(n集合中包含美美的信息集合中包含美美的信息);elseSystem.out.println(n集合中不包含美美的信息集合中不包含美美的信息);刪除第一個(gè)狗狗和刪除第一個(gè)狗狗和feifeiDog判斷是否包含指定判斷是否包含指定狗狗狗狗ArrayList集
14、合類(lèi)nList接口常用方法 方法名說(shuō) 明boolean add(Object o)在列表的末尾順序添加元素,起始索引位在列表的末尾順序添加元素,起始索引位置從置從0 0開(kāi)始開(kāi)始void add(int index,Object o)在指定的索引位置添加元素。索引位置必在指定的索引位置添加元素。索引位置必須介于須介于0 0和列表中元素個(gè)數(shù)之間和列表中元素個(gè)數(shù)之間int size()返回列表中的元素個(gè)數(shù)返回列表中的元素個(gè)數(shù)Object get(int index)返回指定索引位置處的元素。取出的元素返回指定索引位置處的元素。取出的元素是是ObjectObject類(lèi)型,使用前需要進(jìn)行強(qiáng)制類(lèi)型類(lèi)型,使
15、用前需要進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換轉(zhuǎn)換boolean contains(Object o)判斷列表中是否存在指定元素判斷列表中是否存在指定元素boolean remove(Object o)從列表中刪除元素從列表中刪除元素Objectremove(int index)從列表中刪除指定位置元素,起始索引位從列表中刪除指定位置元素,起始索引位置從置從0 0開(kāi)始開(kāi)始13.3.2 LinkedListn在集合任何位置(頭部、中間、尾部)添加、獲取、刪除狗狗對(duì)象n插入、刪除操作頻繁時(shí),可使用LinkedList來(lái)提高效率nLinkedList還額外提供對(duì)頭部和尾部元素進(jìn)行添加和刪除操作的方法 LinkedList
16、集合類(lèi)public class Test3 public static void main(String args) / 創(chuàng)建多個(gè)狗狗對(duì)象創(chuàng)建多個(gè)狗狗對(duì)象LinkedList dogs = new LinkedList();dogs.add(ououDog);dogs.add(yayaDog);dogs.addLast(meimeiDog);dogs.addFirst(feifeiDog);Dog dogFirst= (Dog)dogs.getFirst();System.out.println(第一條狗狗昵稱(chēng)是第一條狗狗昵稱(chēng)是+dogFirst.getName() );Dog dogLast
17、= (Dog)dogs.getLast();System.out.println(最后一條狗狗昵稱(chēng)是最后一條狗狗昵稱(chēng)是+dogLast.getName();dogs.removeFirst();dogs.removeLast();創(chuàng)建創(chuàng)建LinkedList集集合對(duì)象并把多個(gè)狗合對(duì)象并把多個(gè)狗狗對(duì)象放入其中狗對(duì)象放入其中獲取第一條狗狗信息獲取第一條狗狗信息獲取最后一條狗狗獲取最后一條狗狗信息信息刪除第一個(gè)狗狗和刪除第一個(gè)狗狗和最后一個(gè)狗狗最后一個(gè)狗狗LinkedList集合類(lèi)nLinkedList的特殊方法方法名說(shuō) 明voidaddFirst(Object o)在列表的首部添加元素在列表的首部
18、添加元素voidaddLast(Object o)在列表的末尾添加元素在列表的末尾添加元素ObjectgetFirst()返回列表中的第一個(gè)元素返回列表中的第一個(gè)元素ObjectgetLast()返回列表中的最后一個(gè)元素返回列表中的最后一個(gè)元素ObjectremoveFirst()刪除并返回列表中的第一個(gè)元素刪除并返回列表中的第一個(gè)元素ObjectremoveLast()刪除并返回列表中的最后一個(gè)元素刪除并返回列表中的最后一個(gè)元素小結(jié)n集合框架有何好處? nJava集合框架中包含哪些接口和哪些類(lèi)?nArrayList和LinkedList有何異同?nList總結(jié):ArrayList本質(zhì)是數(shù)組,
19、適合在末尾添加數(shù)據(jù),適合隨機(jī)訪(fǎng)問(wèn)。LinkedList本質(zhì)類(lèi)似鏈表,適合隨時(shí)隨處修改、增加、刪除元素,并且具有順序性,即是適合存放經(jīng)常做插入、刪除操作、有順序要求的一組數(shù)據(jù)。13.4 Set接口nList用于存儲(chǔ)nSet用于快速查找13.4 HashSet類(lèi)類(lèi) HashSet是使用一個(gè)哈希表存儲(chǔ)元素的,是非排序的,不允許有重復(fù)元素,可以隨機(jī)訪(fǎng)問(wèn),是Set接口的最優(yōu)性能實(shí)現(xiàn)。為了保證HashSet能正常工作,要求當(dāng)兩個(gè)對(duì)象用equals()方法比較的結(jié)果為true時(shí),它們的哈希碼也相等。例如,如果object1.equals(object2)為true,那么以下表達(dá)式的結(jié)果也應(yīng)為true。obj
20、ect1.hashCode() = object2.hashCode();13.4.1 HashSetimport java.util.*;public class TestHash public static void main(String args) Set list = new HashSet();list.add(tom);list.add(Alice);list.add(Jerry);list.add(1);list.add(2);list.add(3);list.add(1);list.add(2);list.add(3);for (String s : list) System
21、.out.println(s);13.4.2 TreeSetTreeSet類(lèi)實(shí)現(xiàn)了SortedSet接口,能夠?qū)θ萜髦械膶?duì)象進(jìn)行排序。當(dāng)向TreeSet中加入一個(gè)對(duì)象后,會(huì)繼續(xù)保持對(duì)象間的排序的次序。例如下面的代碼片段:Set set = new TreeSet();set.add(new String(spring);set.add(new String(summer);set.add(new String(autumn);set.add(new String(winter);System.out.println(set);運(yùn)行結(jié)果:autumn, spring, summer, winte
22、r13.4.2 TreeSet為什么可以實(shí)現(xiàn)排序?在JDK類(lèi)庫(kù)中,有一部分類(lèi)實(shí)現(xiàn)了java.lang.Comparable接口,如Integer、 Double 和String等。Comparable接口有一個(gè)compareTo(Object o)方法,它返回整數(shù)類(lèi)型。pareTo(y):如果返回值為0,則表示x和y相等;如果返回值大于0,則表示x大于y;如果返回值小于0,則表示x小于y。TreeSet調(diào)用對(duì)象的compareTo()方法比較容器中對(duì)象的大小,然后進(jìn)行升序排列。13.4.2 TreeSet使用自然排序時(shí),只能向TreeSet容器中加入同類(lèi)型的對(duì)象,如下所示。Set set =
23、new TreeSet();set.add(new Integer(1);set.add(new String(spring);System.out.println(set);/拋出java.lang.ClassCastException異常向TreeSet容器中加入同類(lèi)型的對(duì)象,要求這些對(duì)象的類(lèi)必須實(shí)現(xiàn)Comparable接口。【例】 向TreeSet容器中加入4個(gè)學(xué)生,并按英語(yǔ)成績(jī)的多少進(jìn)行升序排列。13.4.2 TreeSet 13.5 Map接口n建立國(guó)家英文簡(jiǎn)稱(chēng)和中文全名間的鍵值映射,并通過(guò)key對(duì)value進(jìn)行操作,應(yīng)該如何實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和操作呢? nMap接口專(zhuān)門(mén)處理鍵值映射數(shù)據(jù)
24、的存儲(chǔ),可以根據(jù)鍵實(shí)現(xiàn)對(duì)值的操作n最常用的實(shí)現(xiàn)類(lèi)是HashMap Map接口3-2 public class Test4 public static void main(String args) Map countries = new HashMap();countries.put(CN, 中華人民共和國(guó)中華人民共和國(guó));countries.put(RU, 俄羅斯聯(lián)邦俄羅斯聯(lián)邦);countries.put(FR, 法蘭西共和國(guó)法蘭西共和國(guó));countries.put(US, 美利堅(jiān)合眾國(guó)美利堅(jiān)合眾國(guó));String country = (String) countries.get(CN);
25、System.out.println(CN對(duì)應(yīng)的國(guó)家是:對(duì)應(yīng)的國(guó)家是: + country);System.out.println(Map中共有中共有+countries.size()+組數(shù)據(jù)組數(shù)據(jù));countries.remove(FR);System.out.println(Map中包含中包含F(xiàn)R的的key嗎?嗎? + countries.containsKey(FR);System.out.println( countries.keySet() ) ;System.out.println( countries.values() );System.out.println( countri
26、es ); 使用使用HashMap存存儲(chǔ)多組鍵值對(duì)儲(chǔ)多組鍵值對(duì)獲取獲取Map元素個(gè)數(shù)元素個(gè)數(shù)刪除指定元素,判斷刪除指定元素,判斷是否包含指定元素是否包含指定元素顯示鍵集、值集和鍵值對(duì)集顯示鍵集、值集和鍵值對(duì)集獲取指定元素的值獲取指定元素的值Map接口3-3nMap接口常用方法方法名說(shuō) 明Object put(Object key, Object val)以以“鍵鍵- -值對(duì)值對(duì)”的方式進(jìn)行存儲(chǔ)的方式進(jìn)行存儲(chǔ)Object get (Object key)根據(jù)鍵返回相關(guān)聯(lián)的值,如果不根據(jù)鍵返回相關(guān)聯(lián)的值,如果不存在指定的鍵,返回存在指定的鍵,返回nullnullObject remove (Obj
27、ect key)刪除由指定的鍵映射的刪除由指定的鍵映射的“鍵鍵- -值對(duì)值對(duì)”int size()返回元素個(gè)數(shù)返回元素個(gè)數(shù)Set keySet ()返回鍵的集合返回鍵的集合Collection values ()返回值的集合返回值的集合booleancontainsKey (Object key)如果存在由指定的鍵映射的如果存在由指定的鍵映射的“鍵鍵- -值對(duì)值對(duì)”,返回,返回truetrue集合類(lèi)對(duì)比nVector和ArrayList的異同n實(shí)現(xiàn)原理相同,功能相同,很多情況下可以互用n兩者的主要區(qū)別如下nVector線(xiàn)程安全,ArrayList重速度輕安全,線(xiàn)程非安全n長(zhǎng)度需增長(zhǎng)時(shí),Vect
28、or默認(rèn)增長(zhǎng)一倍,ArrayList增長(zhǎng)50%集合類(lèi)對(duì)比nHashtable和HashMap的異同n實(shí)現(xiàn)原理相同,功能相同,在很多情況下可以互用n兩者的主要區(qū)別如下nHashtable繼承Dictionary類(lèi),HashMap實(shí)現(xiàn)Map接口nHashtable線(xiàn)程安全,HashMap線(xiàn)程非安全nHashtable不允許null值,HashMap允許null值開(kāi)發(fā)過(guò)程中,最好使用開(kāi)發(fā)過(guò)程中,最好使用ArrayList和和HashMap13.6 泛型n把任何類(lèi)型對(duì)象通過(guò)add(Object obj) 放入List中,認(rèn)為只是Object類(lèi)型n通過(guò)get(int index) 取出List中元素時(shí)必
29、須進(jìn)行強(qiáng)制類(lèi)型轉(zhuǎn)換,繁瑣而且容易出現(xiàn)異常n使用Map的put(Object key, Object value)和get (Object key)存取對(duì)象時(shí)存在同樣問(wèn)題n使用Iterator的next()方法獲取元素時(shí)存在同樣問(wèn)題nJDK5.0中通過(guò)引入泛型有效的解決了這個(gè)問(wèn)題中通過(guò)引入泛型有效的解決了這個(gè)問(wèn)題nJDK5.0使用泛型改寫(xiě)了集合框架中的所有接口和類(lèi)使用泛型改寫(xiě)了集合框架中的所有接口和類(lèi)泛型集合3-2public class Test6 public static void main(String args) / 1、創(chuàng)建多個(gè)狗狗對(duì)象、創(chuàng)建多個(gè)狗狗對(duì)象Dog dog1 = new
30、Dog(歐歐歐歐, 雪娜瑞雪娜瑞);/ 2、創(chuàng)建、創(chuàng)建ArrayList集合對(duì)象并把多個(gè)狗狗對(duì)象集合對(duì)象并把多個(gè)狗狗對(duì)象List dogs = new ArrayList();dogs.add(dog1);/dogs.add(hello); / 3、 顯示第三個(gè)元素的信息顯示第三個(gè)元素的信息Dog dog = dogs.get(2); System.out.println(第三個(gè)狗狗的信息如下:第三個(gè)狗狗的信息如下:);System.out.println(dog.getName() + t + dog.getStrain();/4、使用、使用Iterator遍歷遍歷dogs對(duì)象對(duì)象System.out.println(n所有狗狗的信息如下:所有狗狗的信息如下:);Iterator it = dogs.iterator();while (it.hasNext() dog = it.next();Syste
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 上海電影藝術(shù)職業(yè)學(xué)院《工程計(jì)算機(jī)輔助設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024-2025學(xué)年山東東營(yíng)市九上化學(xué)期末統(tǒng)考模擬試題含解析
- 江西電力職業(yè)技術(shù)學(xué)院《內(nèi)科學(xué)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 三峽大學(xué)《綜合商務(wù)英語(yǔ)VI》2023-2024學(xué)年第一學(xué)期期末試卷
- 人工智能創(chuàng)意寫(xiě)作助手行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書(shū)
- 診斷用生物藥品智能生產(chǎn)設(shè)備行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書(shū)
- 固體廢物處理設(shè)施行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書(shū)
- 二手車(chē)保險(xiǎn)服務(wù)創(chuàng)新創(chuàng)業(yè)項(xiàng)目商業(yè)計(jì)劃書(shū)
- 人防工程AI智能應(yīng)用行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書(shū)
- 宜昌科技職業(yè)學(xué)院《篆刻藝術(shù)入門(mén)》2023-2024學(xué)年第一學(xué)期期末試卷
- 醫(yī)養(yǎng)結(jié)合養(yǎng)老院養(yǎng)老中心項(xiàng)目可行性研究報(bào)告
- 金相的基礎(chǔ)知識(shí)
- 個(gè)人餐飲技術(shù)服務(wù)合同(4篇)
- HF-01型電除塵器高頻電源使用說(shuō)明書(shū)
- 詢(xún)價(jià)單(表格模板)
- 2023年5月FDA口服速釋制劑根據(jù)BCS分類(lèi)系統(tǒng)的生物利用度與生物等效性研究及生物等效性豁免
- 病原學(xué)檢測(cè)陰性肺結(jié)核診斷流程T∕CHATA 008-2020
- 廣東省大學(xué)生校外實(shí)踐教學(xué)基地
- 生物質(zhì)氣化耦合高效發(fā)電與多聯(lián)產(chǎn)技術(shù)20161127 (1) (1)
- 正畸頭影測(cè)量分析
- 如何使用S1000D規(guī)范
評(píng)論
0/150
提交評(píng)論