《Java集合类实例解析(9页).doc》由会员分享,可在线阅读,更多相关《Java集合类实例解析(9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-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(集合
2、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(集合collection
3、1中是否包含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.isEmpt
4、y(); /将集合collection1转化为数组 Object s= collection1.toArray(); for(int i=0;iuser2.getId) return 1;else if(user1.getId=user2.getId) return 0;return -1; classTestComparator public static void main(String args) TestComparator.test();public static void test()Set set=new TreeSet(new MyComparator();Users user
5、1=newUsers(张三,17);Users user2=newUsers(李四,13);Users user3=newUsers(王五,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 Usersimplements Comparable private
6、 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
7、.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=n
8、ew ArrayList(); list.add(aa); list.add(bb); list.add(cc); for(int i=0;ilist.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是
9、线程安全的,可以多个线程同时访问,但性能比较差。2、ArrayList线程不安全,不支持多个线程同时访问,但性能比较好,访问的速度快。四、Map集是以键值对的形式存放的,键不可以重复,值可以重复,如果键重复,会将原来的值覆盖, Map集的实现类主要有三个:HashMap,TreeMap,HashTableHashMap与HashTable 的区别: 1、HashTable是线程安全的,支持同步。2、HashMap线程不安全,不支持同步,但性能比HashTable好Map集的遍历:1、Map map=new HashMap()map.put(1,张飞);map.put(2,关羽);map.put
10、(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=newUsers(张三,17); Users user2=newUsers(李四,13);Users user3=newUsers(王五,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();