Java面向?qū)ο笏枷肱c程序設(shè)計-第8章-集合類_第1頁
Java面向?qū)ο笏枷肱c程序設(shè)計-第8章-集合類_第2頁
Java面向?qū)ο笏枷肱c程序設(shè)計-第8章-集合類_第3頁
Java面向?qū)ο笏枷肱c程序設(shè)計-第8章-集合類_第4頁
Java面向?qū)ο笏枷肱c程序設(shè)計-第8章-集合類_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、8集 合 類第章Java程序設(shè)計8.2 集合類總覽8.3 List集合8.4 Set集合8.1 泛型8.5 Map集合8.6 集合元素的操作8.7 小結(jié)C目錄ONTENTS8.1.1 什么是泛型泛型,也稱之為“參數(shù)化類型”,就是將類型由原來的具體的類型參數(shù)化,類似于方法中的變量參數(shù),此時類型也定義成參數(shù)形式(可以稱之為類型形參),然后在使用/調(diào)用時傳入具體的類型(類型實(shí)參)。8.1.1 什么是泛型【例8.1】假設(shè)有一個籃子(Basket),我們可以用它存放不同的物品,如放雞蛋(Egg),放面包(Bread),當(dāng)然也可以放錢(Money)等等。如何定義這個Basket類來滿足存放不同種類物品的需

2、求呢?【分析】在定義這個類時,需要解決這樣一個問題:放入籃子的這些物品對象存放在哪?我們可以通過數(shù)組來存放這些對象;這樣引出了下一個問題:數(shù)組類型如何定義可以滿足存放不同類型的物品?我們可以用所有類型的父類Object來進(jìn)行定義。 Example8_01.java8.1.2 泛型類的定義泛型類是帶有類型參數(shù)的類,類中也有屬性和方法。泛型類的定義形式:class 泛型類名/類體泛型類型參數(shù):T:代表這是一個類型TypeE:代表這是一個元素ElementK:代表這是一個鍵KeyV:代表這是一個值Value8.1.2 泛型類的定義定義泛型類的對象:泛型類名 對象名=new 泛型類名(形參表);或泛型

3、類名 對象名=new 泛型類名(形參表);也可以用“?”代替“實(shí)際參數(shù)表列”如:Basket basket = new Basket();【例8.2】定義一個泛型籃子類,并創(chuàng)建相關(guān)的對象。Example8_02.java 8.1.2 泛型類的定義 泛型的使用規(guī)則:泛型的類型參數(shù)只能是類類型,而不能是簡單類型。泛型的類型參數(shù)可以有多個。靜態(tài)字段的類型不能是類型參數(shù)。不能直接創(chuàng)建類型參數(shù)變量的數(shù)組,只能通過反射創(chuàng)建。泛型的參數(shù)類型可以使用extends和super關(guān)鍵字。泛型的參數(shù)類型還可以是通配符類型。8.1.3 泛型接口的定義除了可以定義泛型類外,還可以定義泛型接口。泛型接口定義形式:inte

4、rface 接口名/8.1.3 泛型接口的定義在實(shí)現(xiàn)接口時,也應(yīng)該聲明與接口相同的類型參數(shù)。實(shí)現(xiàn)形式如下:class 類名 implements 接口名/8.1.4 泛型方法的定義1. 泛型方法訪問限定詞 static 方法類型 方法名(參數(shù)表列)/方法也可以是泛型方法,泛型方法可以定義在泛型類中,也可以定義在非泛型類中。泛型方法定義形式:8.1.4 泛型方法的定義2. 具有可變參數(shù)的方法System.out.printf(“%d,%fn”,i,f);System.out.printf(“x=%d,y=%d,z=%d”,x,y,z);printf是具有可變參數(shù)的方法。利用泛型方法,可以定義具有

5、可變參數(shù)的方法,如printf方法:8.1.4 泛型方法的定義訪問限定詞 方法類型 方法名(類型參數(shù)名 參數(shù)名)/【例8.3】具有可變參數(shù)的方法的定義與使用。Example8_03.java2. 具有可變參數(shù)的方法8.1.5 泛型參數(shù)的限定 如果只接收指定范圍內(nèi)的類類型,可以對泛型的參數(shù)進(jìn)行限定。參數(shù)限定的語法形式:類型形式參數(shù) extends 父類“類型形式參數(shù)”是指聲明泛型類時所聲明的類型,“父類”表示只有這個類下面的子類才可以做實(shí)際類型。【例8.4】定義一個泛型類,能夠找出多個數(shù)據(jù)中的最大數(shù)和最小數(shù)。Example8_04.java8.2 集合類總覽8.3 List集合8.4 Set集合

6、8.1 泛型8.5 Map集合8.6 集合元素的操作8.7 小結(jié)C目錄ONTENTS8.2.1 集合類及其特點(diǎn)集合類的特點(diǎn):空間自主調(diào)整,提高空間利用率。提供不同的數(shù)據(jù)結(jié)構(gòu)和算法,減少編程工作量。提高程序的處理速度和質(zhì)量。注意:集合類不支持簡單數(shù)據(jù)類型的存放和處理。如果確實(shí)需要存儲簡單類型數(shù)據(jù)可以先進(jìn)行類的封裝(裝箱)處理。集合類中存放的是對象的引用,而不是對象本身。8.2.2 Java的集合類CollectionListSetArrayListLinkedListHashSetTreeSetMapHashMapTreeMapVectorStack8.2.2 Java的集合類Java的集合類主

7、要繼承了Map接口和Collection接口。其中在Collection接口中定義了大多數(shù)集合類支持的方法。下面給出Collection接口的部分方法。返回類型方法名方法功能booleanadd(E e)向集合中添加新元素booleanaddAll(Collection c)將指定集合中的所有元素添加到當(dāng)前集合中。booleanremove(Object o)刪除當(dāng)前集合中包含的指定元素booleanremoveAll(Collection c)刪除當(dāng)前集合中與指定集合相同的所有元素booleanretainAll(Collection c)保留當(dāng)前集合中與指定集合相同的所有元素voidcle

8、ar()刪除當(dāng)前集合中的所有元素booleancontains(Object o)查找當(dāng)前集合中是否有指定元素booleancontainsAll(Collection c)查找當(dāng)前集合中是否包含指定集合中的所有元素booleanisEmpty()當(dāng)前集合是否為空intsize()返回當(dāng)前集合的元素個數(shù)Iteratoriterator()返回一個可遍歷當(dāng)前集合的迭代器Streamstream()返回一個連接集合的順序流ObjecttoArray()返回一個當(dāng)前集合所有元素的數(shù)組8.2.2 Java的集合類Java中實(shí)現(xiàn)Collection接口的類,主要包括List集合接口和Set集合接口。Li

9、st是一個有序元素集合,允許出現(xiàn)重復(fù)元素。Set是一個無序集合,不允許出現(xiàn)重復(fù)元素。Map是Java.util包中的另一個接口,Map集合中的每個元素都由一個鍵-值對構(gòu)成。在Map中不能有重復(fù)的鍵,但是可以有相同的值。集合類均采用泛型進(jìn)行定義。 8.2 集合類總覽8.3 List集合8.4 Set集合8.1 泛型8.5 Map集合8.6 集合元素的操作8.7 小結(jié)C目錄ONTENTS8.3.1 List接口List集合接口,也稱之為線性表,是一個有序列表。集合中的元素是按順序進(jìn)行存放和處理的,可以像訪問數(shù)組元素一樣通過序號訪問和處理List集合元素。List集合重點(diǎn)關(guān)注的是索引而不是元素本身,

10、集合中允許出現(xiàn)重復(fù)元素。實(shí)現(xiàn)List集合接口的常用類有ArrayList、LinkedList、Vector和Stack。8.3.1 List接口表8.2 List接口中的主要方法類型方法名方法功能booleanadd(E e)把元素e加到表的尾部voidadd(intindex, Ee)把元素e加到表的index位置,原index位置元素順序后移booleanequals(Objecto)比較對象o是否與表中的元素是同一元素Eget(intindex)得到表中index位置的元素booleanindexOf(Object o)判斷元素o在表中是否存在。如果不存在,則返回-1Iteratori

11、terator()獲得表的遍歷器 List接口的定義形式:public interface List extends Collection8.3.2 ArrayList集合類ArrayList是一種具有可變大小的動態(tài)數(shù)組結(jié)構(gòu),ArrayList類的定義形式:public class ArrayList extends AbstractListimplements List, RandomAccess, Cloneable, Serializable 8.3.2 ArrayList集合類表8.3 ArrayList類的構(gòu)造方法【例8.5】已知一個人員名單,將每個名字前面添加一個序號。 Examp

12、le8_05.java方法名方法功能ArrayList()構(gòu)造一個初始容量為 10 的空列表。ArrayList(Collectionc)構(gòu)造一個包含指定 collection 的元素的列表。ArrayList(intcapacity)構(gòu)造一個具有指定初始容量的空列表。8.3.3 LinkedList集合類LinkedList集合類是另一個常用的線性列表集合,采用的是雙向鏈表結(jié)構(gòu)。LinkedList類的定義形式:public class LinkedListextends AbstractSequentialList implements List, Deque, Cloneable, Se

13、rializable8.3.3 LinkedList集合類LinkedList實(shí)現(xiàn)了兩個接口:List和Deque接口,List接口中定義了線性表操作方法,Deque接口中定義了線性數(shù)列從隊列兩端訪問元素的方法。LinkedList對象既可以表示線性序列表,也可以把它當(dāng)做堆棧使用,還可以把它當(dāng)做隊列使用。8.3.3 LinkedList集合類返回類型方法名 方法功能booleanadd(E e)將元素e加到列表的末尾voidadd(intindex, Eelement)把元素e插入到列表index所指位置,原位置元素順序后移voidaddFirst(Ee)將元素e插入到列表的頭部EgetFir

14、st()返回列表的頭部元素intindexOf(Objecto)返回元素o在列表中第1次出現(xiàn)的位置。如果無元素o,則返回-1booleanofferFirst(Ee)將元素e插入到列表的頭部EpollLast()返回列表中尾部元素并且從表中刪除該元素。如果表空,則返回nullEpop()棧頂元素出棧voidpush(Ee)元素e入棧EremoveFirst()從列表中刪除頭部元素并返回該元素LinkedList類的部分方法【例8.6】求小于某個正整數(shù)的所有素數(shù)。 Example8_06.java8.2 集合類總覽8.3 List集合8.4 Set集合8.1 泛型8.5 Map集合8.6 集合元

15、素的操作8.7 小結(jié)C目錄ONTENTSSet接口的定義形式:public interface Set extends CollectionSet實(shí)現(xiàn)了Collection接口定義的所有操作。Set還能利用相關(guān)方法實(shí)現(xiàn)數(shù)學(xué)上的集合運(yùn)算,如交集、并集、差集8.4.1 Set接口表8.5 常用的集合運(yùn)算方法說明集合運(yùn)算對應(yīng)方法實(shí)現(xiàn)功能并集addAll(Collection c)得到兩個集合的并集,結(jié)果保存到當(dāng)前集合中交集retainAll(Collection c)得到兩個集合的交集,結(jié)果保存到當(dāng)前集合中差集removeAll(Collection c)得到兩個集合的差集,結(jié)果保存到當(dāng)前集合中超集

16、containsAll(Collection c)當(dāng)前集合是否包含集合c的所有元素,是返回true8.4.2 HashSet集合類HashSet的定義形式:public class HashSetextends AbstractSetimplements Set, Cloneable, Serializable該類實(shí)現(xiàn)了Set接口,為用戶提供快速查找和添加元素功能。 8.4.2 HashSet集合類說明:使用構(gòu)造方法創(chuàng)建空HashSet,會預(yù)先分配一些元素空間,默認(rèn)是16個元素。構(gòu)造方法中的加載因子是指當(dāng)空間利用率達(dá)到這個因子時就需要進(jìn)行擴(kuò)容了。HashSet存儲每個元素時會生成一個唯一的整數(shù)

17、標(biāo)識散列碼(hash code。HashSet根據(jù)這個標(biāo)識來決定元素所在的存儲位置。缺點(diǎn):保存的元素?zé)o任何特定的順序。8.4.2 HashSet集合類返回類型方法名方法功能HashSet()構(gòu)造一個新的空 set,初始容量是 16,加載因子是 0.75。HashSet(Collection c)構(gòu)造一個包含指定 collection 中的元素的新 set。HashSet(int Capacity)構(gòu)造一個新的空 set,指定初始容量和默認(rèn)的加載因子(0.75)。HashSet(int Capacity, float loadFactor)構(gòu)造一個新的空 set,指定初始容量和加載因子。bool

18、eanadd(E e) 如果set 中沒有元素e,則添加。voidclear()刪除set中所有元素。Objectclone()返回此 HashSet 實(shí)例的副本,但并不復(fù)制這些元素本身。booleancontains(Object o)查詢set中是否包含指定元素obooleanisEmpty()判斷set中是否沒有任何元素。Iteratoriterator()返回set中元素進(jìn)行迭代的迭代器。booleanremove(Object o)刪除set中的指定元素ointsize()返回set中的元素的數(shù)量(set的容量)。表8.6 HashSet的主要方法8.4.3 TreeSet集合類、T

19、reeSet類的定義形式:public class TreeSetextends AbstractSetimplements NavigableSet, Cloneable, Serializable說明:TreeSet內(nèi)部采用了二叉搜索樹的數(shù)據(jù)結(jié)構(gòu)進(jìn)行元素的存儲,實(shí)現(xiàn)了元素的有序存放。TreeSet適合按順序遍歷。使用TreeSet類的前提條件:存儲的元素類型必須是可排序的。8.4.3 TreeSet集合類返回類型方法名方法功能TreeSet() 構(gòu)造一個新的空TreeSet,根據(jù)元素的自然順序進(jìn)行排序。TreeSet(Collection c) 構(gòu)造一個包含指定 Collection 元素

20、的新 TreeSet,按照元素的自然順序進(jìn)行排序。表8.7 TreeSet的構(gòu)造方法8.4.3 TreeSet集合類返回類型方法名方法功能Comparatorcomparator()返回對此 set 中的元素進(jìn)行排序的比較器。Iterator iterator()返回元素按升序進(jìn)行迭代的迭代器。IteratordescendingIterator()返回元素按降序進(jìn)行迭代的迭代器。Efirst()返回第一個元素。Elast()返回最后一個元素。Eceiling(E e)返回大于等于給定元素的最小元素;如果不存在,則返回 null。Efloor(E e)返回小于等于給定元素的最大元素;如果不存在

21、,則返回 null。Elower(E e)返回小于給定元素的最大元素;如果不存在,則返回 null。Ehigher(E e)返回大于給定元素的最小元素;如果不存在,則返回 null。表8.8 TreeSet類的部分方法【例8.7】班級學(xué)生報名參加校運(yùn)動會,已知各項比賽的報名人員,請統(tǒng)計班級參加比賽的人數(shù)。Example8_07.java8.2 集合類總覽8.3 List集合8.4 Set集合8.1 泛型8.5 Map集合8.6 集合元素的操作8.7 小結(jié)C目錄ONTENTS8.5.1 Map 接口Map接口是實(shí)現(xiàn)映射集合的根接口,其定義了關(guān)于映射集合的相關(guān)操作方法。返回類型方法名方法功能voi

22、dclear()刪除集合中的所有元素booleancontainsKey(Object key)查詢集合中是否存在指定的key鍵booleancontainsValue(Object value)查詢集合中是否存在指定的value值SetMap.EntryentrySet()返回集合中包含的所有鍵值對的Set集合視圖。booleanequals(Object o)比較指定的對象與此集合對象是否相等。Vget(Object key)返回指定鍵所映射的值;如果鍵不存在則返回 null。表8.9 Map接口的常用方法8.5.1 Map 接口返回類型方法名方法功能booleanisEmpty()查詢集

23、合是否為空。SetkeySet()返回集合中包含的所有鍵的Set集合視圖。Vput(K key, V value)添加一個鍵值對,如果存在該鍵,則替換原有的值。voidputAll(Map m)將集合m中所有鍵值對復(fù)制到當(dāng)前集合中。Vremove(Object key)刪除指定鍵可以的鍵值對。intsize()返回集合中的鍵值對個數(shù)。Collectionvalues()返回集合中包含的所有值的集合視圖。續(xù)表8.5.2 HashMap集合類HashMap類的定義形式:public class HashMapextends AbstractMapimplements Map, Cloneable,

24、 Serializable8.5.2 HashMap集合類方法名方法功能HashMap()構(gòu)造一個具有默認(rèn)初始容量 (16) 和默認(rèn)加載因子 (0.75) 的空 HashMap。HashMap(int Capacity)構(gòu)造一個帶指定初始容量和默認(rèn)加載因子 (0.75) 的空 HashMap。HashMap(int Cap, float f)構(gòu)造一個帶指定初始容量和加載因子的空 HashMap。HashMap(Map m)構(gòu)造一個映射關(guān)系與指定 Map 相同的新 HashMap。表8.10 HashMap的構(gòu)造方法【例8.8】創(chuàng)建一個電話簿,并查詢“zhangsan”的電話號碼是多少。Exam

25、ple8_08.java8.5.3 TreeMap集合類TreeMap集合類的定義形式:public class TreeMapextends AbstractMapimplements NavigableMap, Cloneable, Serializable該集合類根據(jù)鍵的自然順序進(jìn)行排序,或者根據(jù)構(gòu)造集合對象時提供的 Comparator 進(jìn)行排序。TreeMap類是對基于紅黑樹(Red-Black tree)的NavigableMap接口的具體實(shí)現(xiàn)。8.5.3 TreeMap集合類方法名方法功能TreeMap()構(gòu)造一個新的、空的集合。TreeMap(Comparator c)構(gòu)造一個

26、新的、空的集合,集合的排序方式由給定的比較器決定。TreeMap(Map m)構(gòu)造一個與給定m相同的自然排序的新集合。TreeMap(SortedMap m)構(gòu)造一個與指定有序集合m相同的新的集合。表8.11 TreeMap類的構(gòu)造方法8.5.3 TreeMap集合類返回類型方法名方法功能Map.EntryceilingEntry(K key)返回一個不小于給定鍵的最小鍵值對;如不存在,則返回 null。KceilingKey(K key)返回一個大于等于給定鍵的最小鍵;如不存在,則返回 null。NavigableSetdescendingKeySet()返回此集合中所有鍵的逆序集合視圖。M

27、ap.EntryfirstEntry()返回此集合中最小鍵的鍵值對;如果集合為空,則返回 null。KfirstKey()返回此集合中第一個(最?。╂I。Vget(Object key)返回指定鍵所映射的值,如不存在,則返回 null。SetkeySet()返回此集合中所有鍵的Set視圖。Map.EntrylastEntry()返回此集合中的最大鍵的鍵值對;如果為空,則返回 null。Map.EntrypollFirstEntry()移除并返回與此集合中的最小鍵的鍵-值對;如果為空,則返回 null。表8.12 TreeMap類的常用方法【例8.9】將例8.8的電話簿按姓名排序輸出。 Examp

28、le8_09.java8.2 集合類總覽8.3 List集合8.4 Set集合8.1 泛型8.5 Map集合8.6 集合元素的操作8.7 小結(jié)C目錄ONTENTS8.6.1 使用Iterator迭代器Iterator,稱為迭代器,是一種允許用戶以順序方式高效訪問集合元素的一種特殊對象。使用迭代器可以簡化遍歷集合元素的過程。Java定義了Iterator接口,描述了在遍歷元素時所需要使用的方法。而具體Iterator接口的實(shí)現(xiàn)則由各集合類根據(jù)自身結(jié)構(gòu)特點(diǎn)來完成。8.6.1 使用Iterator迭代器Iterator接口只提供了三個方法:hasNext()方法,next()方法和remove()方

29、法。hasNext()方法判斷是否遍歷到集合的最后一個元素;next()方法返回迭代器指向的下一個元素;remove()方法刪除迭代器當(dāng)前返回的元素。Java提供的ListIterator接口擴(kuò)展了Iterator接口的功能,定義了逆向遍歷的方法,實(shí)現(xiàn)List接口的類均實(shí)現(xiàn)了ListIterator迭代器?!纠?.10】刪除數(shù)組中長度為偶數(shù)的字符串。 Example8_10.java8.6.2 使用CollectionsCollections類與Collection接口的區(qū)別:Collection接口是一類集合的根接口,提供對這類集合中的元素進(jìn)行基本操作的通用方法。Collections類是具

30、體的實(shí)現(xiàn)類,為實(shí)現(xiàn)Collection接口的集合提供了一系列靜態(tài)方法,完成元素的處理,如排序、查找、特定變換等操作。Collections類是Java為方便進(jìn)行Collection集合的操作和處理所提供的類。8.6.2 使用Collections返回類型方法名方法功能static intbinarySearch(List list, T key)使用二分搜索法搜索列表,返回key所在的位置。static voidcopy(List dest, List src)將所有元素從列表src復(fù)制到列表dest。static voidfill(List list, T obj)使用元素obj替換列表li

31、st中的所有元素。static Tmax(Collection coll)按自然順序,返回集合coll的最大元素。static Tmax(Collection coll, Comparator comp)按指定比較器comp產(chǎn)生的順序,返回集合coll的最大元素。表 8.13 Collections類常用方法8.6.2 使用Collections返回類型方法名方法功能static Tmin(Collection coll)按元素的自然順序 返回集合coll的最小元素。static booleanreplaceAll(List list, T oldVal, T newVal)使用元素newVa

32、l替換列表中出現(xiàn)的所有oldVal元素。static voidreverse(List list)反轉(zhuǎn)列表list中元素的順序。static voidsort(List list)按元素的自然順序?qū)α斜韑ist按升序進(jìn)行排序。static voidsort(List list, Comparator c)按指定比較器產(chǎn)生的順序?qū)α斜韑ist進(jìn)行排序。static voidswap(List list, int i, int j)將列表list中第i位置和第j位置的元素進(jìn)行互換。續(xù)表【例8.11】有一個學(xué)生點(diǎn)名冊,要求按學(xué)號進(jìn)行排序。Example8_11.java8.6.3 使用Lambda表

33、達(dá)式Lambda表達(dá)式是Java 1.8中新增的一種特性。Lambda表達(dá)式用更少的代碼實(shí)現(xiàn)同樣的功能。代碼更簡潔緊湊,支持大集合的并行操作。Java 1.8新增了java.util.stream和java.util.function兩個包用于擴(kuò)展集合的操作。8.6.3 使用Lambda表達(dá)式stream可以在集合上建立一個管道流,進(jìn)入流的集合元素可以進(jìn)行一些中間操作,如對元素進(jìn)行條件過濾。條件的給定就要使用function包中的類完成;最后可以對符合條件的元素進(jìn)行相關(guān)處理,如字符轉(zhuǎn)換,數(shù)據(jù)計算等。Lambda表達(dá)式配合這兩個包的應(yīng)用,大大增強(qiáng)了對集合的處理能力。8.6.3 使用Lambda表

34、達(dá)式1. Lambda表達(dá)式Lambda語法格式:(parameters)-expression 或者(parameters)-statements; Lambda表達(dá)式由三部分組成: parameters:形參列表。 - :表示為“被用于”。方法體:可以是表達(dá)式也可以是代碼塊,實(shí)現(xiàn)函數(shù)接口中的方法。方法體可以有返回值也可以沒有返回值。 8.6.3 使用Lambda表達(dá)式1. Lambda表達(dá)式幾個簡單示例:()-1沒有參數(shù),直接返回1;(int x,int y )- x+y有兩個int類型的參數(shù),返回這兩個參數(shù)的和;(x,y)-x+y有兩個參數(shù),JVM根據(jù)上下文推斷參數(shù)的類型,返回兩個參數(shù)的和;(String name,String number)-System.out.println(name);System.out.println(number)有兩個String類型參數(shù),分別進(jìn)行輸出,沒有返回值; x-2*x有一個參數(shù),返回它本身的2倍。8.6.3 使用Lambda表達(dá)式2. stream流stream表示數(shù)據(jù)流,流本身并不存儲元素,在流中的操作也不會改變源數(shù)據(jù),而是生成新Stream。在數(shù)據(jù)流中,可

溫馨提示

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

評論

0/150

提交評論