ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:19.40KB ,
资源ID:29189188      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29189188.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java基础集合.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java基础集合.docx

1、Java基础集合集合 集合保存对象的引用,不产生新的对象(存放对象的容器)collection接口 | - - | | Set接口(不重复) List接口(可以重复) | |- -| | | | |HashSet(无序) TreeSet(有序) ArrayList Vector LinkedList| |LinkedHashSet(有序) StackCollection接口 集合框架的根 常用方法 boolean contains(Object a) Iterator iterator() int size() void clear() boolean add(Object a) boolea

2、n isEmpty()Iterator 接口 集合进行迭代的迭代器主要方法: hasNext() next()Set接口 不允许重复元素, 可以最多包含一个null值 重复替换旧的 TreeSet存放对象时 可以重复public class TestSet private Collection months; private Set books; public void doCollection() /LinkedHashSet Set的实现类 提供有序的链表 months=new LinkedHashSet(); /创建Collection接口的引用指向实现类的实例 System.out.p

3、rintln(未添加数据前,集合是否为空:+months.isEmpty(); for(int i=1;i13;i+) months.add(第+i+月); System.out.println(添加数据后,集合是否为空:+months.isEmpty(); System.out.println(集合中元素个数:+months.size(); System.out.println(是否包含第5月:+months.contains(第5月); /是否包含指定元素 /使用迭代器遍历 Iterator it=months.iterator(); while(it.hasNext() System.o

4、ut.println(it.next(); months.clear(); /清空集合中的元素 System.out.println(清空数据后 集合中元素个数:+months.size(); System.out.println(清空数据后 集合是否为空:+months.isEmpty(); /HashSet 无序 public void doHashSet() books=new HashSet(); Book b1=new Book(100,后街传说,px,500.0F); Book b2=new Book(101,电大风云,px,100.0F); Book b3=new Book(10

5、2,神雕侠侣,金庸,100.0F); books.add(b1); books.add(b2); books.add(b3); books.add(b3);/重复 新的替换旧的 /遍历 for(Iterator it=books.iterator();it.hasNext();) System.out.println(it.next(); /TreeSet 按自然排序 public void doTreeSet() TreeSet strs=new TreeSet(); strs.add(小二); strs.add(老二); strs.add(小三); strs.add(老三); for(It

6、erator it=strs.iterator();it.hasNext();) System.out.println(it.next(); public static void main(String args) TestSet test=new TestSet(); test.doCollection(); test.doHashSet(); test.doTreeSet(); List接口 可以存放重复元素 元素可以通过其整型下标访问 get(i)ArrayList类 实现可变长度的对象数组 动态创建数组 线程不安全 非同步 效益高于VectorVector类 实现可变长度的对象数组 线

7、程安全 同步 当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半Stack类 表示后进先出的对象堆栈 继承Vector Push() Pop(); Peek()public class TestList private List aList; public TestList() aList=new ArrayList(); aList.add(First); aList.add(Second); aList.add(Thrid); aList.add(Four); aList.add(2,插入的元素); /在第二个位置上添加 private void getLis

8、t() Iterator it=aList.iterator(); while(it.hasNext() System.out.println(it.next(); aList.remove(1); /移除指定位置的元素 System.out.println(=); for(int i=0;iaList.size();i+) System.out.println(aList.get(i); /LinkedList /以链表形式存放数据 链表插入、删除速度快 private void doLinkedList() List linkedList=new LinkedList(); linkedL

9、ist.add(one); linkedList.add(two); linkedList.add(three); linkedList.add(four); linkedList.set(2, two-2); /插入 for(int i=0;ilinkedList.size();i+) System.out.println(linkedList.get(i); public void doSynDemo() /返回线程安全的List 对象 List list=Collections.synchronizedList(new ArrayList(); list.add(aaa); list.a

10、dd(bbb); for(String s:list) System.out.println(s); public static void main(String args) TestList test=new TestList(); test.getList(); System.out.println(*); test.doLinkedList(); System.out.println(*); test.doSynDemo(); Stack类 以堆栈的形式存放数据:后进先出 主要操作: Push() 入栈 Pop() 出栈 Peek() 查看栈顶元素 public class TestSt

11、ack private int size = 5; private Stack stack; public TestStack() stack = new Stack(); / 入栈 private void inStack() for (int i = 1; i = size + 1; i+) stack.push(第+i+颗子弹); if (i = size + 1) System.out.println(最后入栈的是+第+i+颗子弹); else System.out.println(装弹: 第+i+颗子弹); /出栈 private void outStack() System.out

12、.println(元素个数:+stack.size(); System.out.println(栈顶元素:+stack.peek();/得到最上面的元素.元素还是在stack中间 System.out.println(元素个数:+stack.size(); while(!stack.isEmpty() System.out.println(射击: +stack.pop();/出栈 得到最上面的元素.元素从stack删除 System.out.println(stack是否为空:+stack.isEmpty(); public static void main(String args) Test

13、Stack test=new TestStack(); test.inStack(); System.out.println(=); test.outStack(); Map接口(键值对) | - | | | | | | HashMap TreeMap HashtableMap接口 以键值对的形式存放数据 键不能重复 后者覆盖前者 基本操作put(key,value)、get(key)、remove(key)、containsKey()、containsValue()、size() isEmpty() HashMap 无序 允许一个 null 键和多个 null 值。 线程不安全 非同步 速度

14、快 Hashtable 无序 不允许 null 键和 null 值 线程安全 同步TreeMap 有序 非同步public class TestMap private Map ht; private HashMap hm; public TestMap() ht = new Hashtable(); ht.put(a, 10); ht.put(b, asdf); ht.put(c, 10.55); ht.put(d, 30); ht.put(f, asdf); ht.put(11, 40.55); hm = new HashMap(); hm.put(1, new Book(100, 后街传说

15、, px, 500.0F); hm.put(8, new Book(101, 电大风云, px, 100.0F); hm.put(6, new Book(102, 神雕侠侣, 金庸, 100.0F); private void doHashtable() ht.put(a, 20); / 添加新值 覆盖旧值 ht.remove(b); / 指定键 删除元素 Set set = ht.keySet(); / 获取键的Set集合 Iterator it = set.iterator(); while (it.hasNext() Object obj = it.next(); System.out.

16、println(obj + + ht.get(obj); / get(key) 返回指定键所映射的值 System.out.println(=); System.out.printf(%s 是否包含在map键中:%b%n, a, ht.containsKey(a); /HashMap 无序 public void doHashMap() System.out.println(是否包含键 1:+hm.containsKey(1); / 获取所包含的值的 Collection Collection values = hm.values(); for (Book b : values) System

17、.out.println(b.getBookId() + - + b.getBookName(); /TreeMap 有序 非同步 public void doTreeMap() TreeMap treeMap=new TreeMap(); treeMap.put(a-100, new Book(100, 后街传说, px, 500.0F); treeMap.put(b-101, new Book(101, 电大风云, px, 100.0F); treeMap.put(a-102, new Book(102, 神雕侠侣, 金庸, 100.0F); for(Iterator it=treeMap

18、.keySet().iterator();it.hasNext();) String str=it.next(); System.out.println(键:+str+ 值:+treeMap.get(str); public static void main(String args) TestMap test=new TestMap(); test.doHashtable(); System.out.println(=); test.doHashMap(); System.out.println(=); test.doTreeMap(); Collections类 包含一些对集合对象操作的静态

19、方法public class TestCollections private List books=new ArrayList(); public TestCollections() books.add(new Book(102, 神雕侠侣, 金庸, 100.0F); books.add(new Book(109, 射雕英雄传,金庸, 100.0F); books.add(new Book(104, 笑傲江湖, 金庸, 100.0F); books.add(new Book(107, 倚天屠龙, 金庸, 100.0F); books.add(new Book(102, 后街传说, 金庸, 10

20、0.0F); books.add(new Book(100, 常德风云, 金庸, 100.0F); public void sortBooks() System.out.println(排序前: ); for(Book b:books) System.out.println(b); /使用Collections 排序 Collections.sort(books, new BookComparator(); System.out.println(排序后: ); for(Book b:books) System.out.println(b); public static void main(St

21、ring args) new TestCollections().sortBooks(); public class Book implements Comparable private int bookId; private String bookName; private String author; private float price; public Book() super(); public Book(int bookId, String bookName, String author, float price) super(); this.bookId = bookId; th

22、is.bookName = bookName; this.author = author; this.price = price; public String toString() return Book author= + author + , bookId= + bookId + , bookName= + bookName + , price= + price + ; public Integer getBookId() return bookId; public String getBookName() return bookName; /* * 用于TreeSet排序 */ Over

23、ride public int compareTo(Book o) return o.getBookId(); /book比较器 要给集合中的book对象排序 需要告诉集合中book对象的比较规则/Comparator接口作用 为对象指定比较规则/排序由compare() 返回值确定 0 负整数 正整数class BookComparator implements Comparator public int compare(Book o1, Book o2) /return o2.getBookId()-o1.getBookId(); return o1.getBookId().compare

24、To(o2.getBookId();/使用Integer的compareTo()比较两个数 class BookNameComparator implements Comparator / Collator用于对国际化处理的字符串比较 抽象类 通过getInstance工厂方法获取实例 / CollationKey 针对Collator操作的类 Collator collator = Collator.getInstance(); public int compare(Book o1, Book o2) CollationKey key1 = collator.getCollationKey(

25、o1.getBookName(); CollationKey key2 = collator.getCollationKey(o2.getBookName(); return pareTo(key2); 作业:1.。设计类 Employee 类、Department类,要求Employee类提供获取时可以获取其所在部门功能,department类提供时可以获取这个部门所有员工信息功能 ,输出所有员工时要求按编号排序 编写测试类2. 设计类Province(省份)类,City类 要求Province类提供获取所有城市功能、根据城市编号获取其对应城市信息功能 City类提供获取所在省份的功能 提示 使用Map 编写测试类

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1