欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java集合类实例解析(9页).doc

    • 资源ID:36353590       资源大小:137KB        全文页数:9页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java集合类实例解析(9页).doc

    -Java集合类实例解析-第 9 页Java集合类实例解析我们看一个简单的例子,来了解一下集合类的基本方法的使用:import java.util.*; public class CollectionToArray public static void main(String args) Collection collection1=new ArrayList();/创建一个集合对象 collection1.add("000");/添加对象到Collection集合中 collection1.add("111"); collection1.add("222"); System.out.println("集合collection1的大小:"+collection1.size(); System.out.println("集合collection1的内容:"+collection1); collection1.remove("000");/从集合collection1中移除掉 "000" 这个对象 System.out.println("集合collection1移除 000 后的内容:"+collection1); System.out.println("集合collection1中是否包含000 :"+collection1.contains("000"); System.out.println("集合collection1中是否包含111 :"+collection1.contains("111"); Collection collection2=new ArrayList(); collection2.addAll(collection1);/将collection1 集合中的元素全部都加到collection2中 System.out.println("集合collection2的内容:"+collection2); collection2.clear();/清空集合 collection1 中的元素 System.out.println("集合collection2是否为空 :"+collection2.isEmpty(); /将集合collection1转化为数组 Object s= collection1.toArray(); for(int i=0;i<s.length;i+) System.out.println(si); 运行结果为:集合collection1的大小:3 集合collection1的内容:000, 111, 222 集合collection1移除 000 后的内容:111, 222 集合collection1中是否包含000 :false 集合collection1中是否包含111 :true 集合collection2的内容:111, 222 集合collection2是否为空 :true 111 222    这里需要注意的是,Collection 它仅仅只是一个接口,而我们真正使用的时候,确是创建该接口的一个实现类。做为集合的接口,它定义了所有属于集合的类所都应该具有的一些方法。如ArrayList (列表)类是集合类的一种实现方式。    下面,我们看一个对于迭代器的简单使用:import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; public class IteratorDemo public static void main(String args) Collection collection = new ArrayList(); collection.add("s1"); collection.add("s2"); collection.add("s3"); Iterator iterator = collection.iterator();/得到一个迭代器 while (iterator.hasNext() /遍历 Object element = iterator.next(); System.out.println("iterator = " + element); if(collection.isEmpty() System.out.println("collection is Empty!"); else System.out.println("collection is not Empty! size="+collection.size(); Iterator iterator2 = collection.iterator(); while (iterator2.hasNext() /移除元素 Object element = iterator2.next(); System.out.println("remove: "+element); iterator2.remove(); Iterator iterator3 = collection.iterator(); if (!iterator3.hasNext() /察看是否还有元素 System.out.println("还有元素"); if(collection.isEmpty() System.out.println("collection is Empty!"); /使用collection.isEmpty()方法来判断     程序的运行结果为:iterator = s1 iterator = s2 iterator = s3 collection is not Empty! size=3 remove: s1 remove: s2 remove: s3    还有元素    collection is Empty!    可以看到,Java的Collection的Iterator 能够用来,:    1) 使用方法iterator() 要求容器返回一个Iterator .第一次调用Iterator 的next() 方法时,它返回集合序列的第一个元素。    2) 使用next() 获得集合序列的中的下一个元素。    3) 使用hasNext()检查序列中是否元素。    4) 使用remove()将迭代器新返回的元素删除。    需要注意的是:方法删除由next方法返回的最后一个元素,在每次调用next时,remove方法只能被调用一次 .    大家看,Java 实现的这个迭代器的使用就是如此的简单。Iterator(跌代器)虽然功能简单,但仍然可以帮助我们解决许多问题,同时针对List 还有一个更复杂更高级的ListIterator.您可以在下面的List讲解中得到进一步的介绍。    我们看一个List的例子:import java.util.*; public class ListIteratorTest public static void main(String args) List list = new ArrayList(); list.add("aaa"); list.add("bbb"); list.add("ccc"); list.add("ddd"); System.out.println("下标0开始:"+list.listIterator(0).next();/next() System.out.println("下标1开始:"+list.listIterator(1).next(); System.out.println("子List 1-3:"+list.subList(1,3);/子列表 ListIterator it = list.listIterator();/默认从下标0开始 /隐式光标属性add操作 ,插入到当前的下标的前面 it.add("sss"); while(it.hasNext() System.out.println("next Index="+it.nextIndex()+",Object="+it.next(); /set属性 ListIterator it1 = list.listIterator(); it1.next(); it1.set("ooo"); ListIterator it2 = list.listIterator(list.size();/下标 while(it2.hasPrevious() System.out.println("previous Index="+it2.previousIndex()+",Object="+it2.previous();     程序的执行结果为:下标0开始:aaa 下标1开始:bbb 子List 1-3:bbb, ccc next Index=1,Object=aaa next Index=2,Object=bbb next Index=3,Object=ccc next Index=4,Object=ddd previous Index=4,Object=ddd previous Index=3,Object=ccc previous Index=2,Object=bbb previous Index=1,Object=a用得最多的主要有Set,List,Map,Iterator这几个接口, Set和List接口都是Collection接口的子接口,有很多相同的地方,我们只是撑握了Collection接口的方法,Set和List的用法也就差不多了.      Set和List 的区别: 1、Set是没有顺序的,不能放重复的数据(相同的数据)          2、List是有顺序的,可以存放重复的数据(相同的数据)Set的实现类常用的主要有两个:HashSet、TreeSet      我们可以把一类对象添加到集合中,并且按对象的某一个属性进行排序(客户化排序和自然排序)      1、对TreeSet集进行客户化排序要求写一个类实现Comparator接口,并且重写其中的Compare方法 例:      客户化排序容易扩展,如果要按其它的属性排序,只需要重新写一个类实现Comparator接口就可以了,      不需要修改原来的代码。      class Users                  private String name;           private int id;           public Users(String name,int id)                           this.name=name;                this.id=id;                      public void setName(String name)                            this.name=name;                      public String getName()                              return name;                      public void setId(int id)                             this.id=id;                      public int getId()                            return id;                      /这里重写了父类的toString方法            public String toString()                             return this.name + "t" + this.id + "t"                        /这个类实现Comparator接口,并且重写了其中的compare方法      public class MyComparator implements Comparator                public int  compare(Object o1,Object o2)                           Users user1=(Users)o1;                Users user2=(Users)o2;                if(user1.getId>user2.getId) return 1;                else if(user1.getId=user2.getId) return 0;                return -1;                     class  TestComparator               public static void main(String args)                         TestComparator.test();                    public static void test()                            Set   set=new TreeSet(new MyComparator();                  Users user1=new  Users("张三",17);                  Users user2=new  Users("李四",13);                  Users user3=new  Users("王五",19);                  Users user5=new Users("王五",19);                  set.add(user1);                  set.add(user2);                  set.add(user3);                  set.add(user5);                                    for(Object obj :set)                                          System.out.println(obj);                                      2、自然排序,将需要排序的那个类实现Comparable接口并且重写其中的compareTo方法          例如下:      class Users  implements Comparable                 private String name;           private int id;           public Users(String name,int id)                           this.name=name;                this.id=id;                      public void setName(String name)                            this.name=name;                      public String getName()                              return name;                      public void setId(int id)                             this.id=id;                      public int getId()                            return id;                      /这里重写了父类的toString方法            public String toString()                             return this.name + "t" + this.id + "t"                        /重写compareTo方法             public int compareTo(Object o)                                      UserBean user = (UserBean) o;                     if (this.id > user.id) return 1;                     else if (this.id = user.id) return 0;                      return -1;                         3.如果是HashSet自然排序,则要求排序的类重写hashCode方法和equals方法      二、对List和Set集进行遍历:       List集有三种方法进行遍历:       1、通过下标遍历,2使用迭代器进行遍历,3、增强循环进行遍历       List list=new ArrayList();       list.add("aa");       list.add("bb");       list.add("cc");       for(int i=0;i<list.size();i+)                System.out.println(list.get(i);                 Iterator it=list.iterator();     while(it.hasNext()             System.out.println(it.next();             for(Object obj :list)              System.out.println(obj);        三、Vector和ArrayList的区别:    1、Vector 和ArrayList都实现了List接口,Vector是线程安全的,可以多个线程同时访问,但性能比较差。    2、ArrayList线程不安全,不支持多个线程同时访问,但性能比较好,访问的速度快。        四、Map集是以键值对的形式存放的,键不可以重复,值可以重复,如果键重复,会将原来的值覆盖,     Map集的实现类主要有三个:HashMap,TreeMap,HashTable    HashMap与HashTable 的区别: 1、HashTable是线程安全的,支持同步。2、HashMap线程不安全,不支持    同步,但性能比HashTable好    Map集的遍历:      1、      Map map=new HashMap()      map.put("1","张飞");      map.put("2","关羽");      map.put("3","刘备");      /得到键的集合      Set set=map.keySet();      for(Object obj :set)                System.out.println(map.get(obj);            2、      /得到健值对的集合      Set s=map.entrySet();       for(Object obj :set)                System.out.println(obj);         五、对List集进行客户化排序,可以通过Collections类的sort方法,要求传一个List集和一个Comparator对象 例:      List list=new ArrayList()      Users user1=new  Users("张三",17);       Users user2=new  Users("李四",13);      Users user3=new  Users("王五",19);      Users user5=new Users("王五",19);      list.add(user1);      list.add(user2);      list.add(user3);      list.add(user5);      Collections.sort(list,new Mycomparator();      Iterator it=list.iterator();      while(it.hasNext()                 System.out.println(it.next();      

    注意事项

    本文(Java集合类实例解析(9页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开