JAVA集合框架
来源:互联网 发布:小米关闭软件自动更新 编辑:程序博客网 时间:2024/05/17 04:04
java集合框架
1,list接口实现类:
list集合(可以出现重复的元素)
ArrayList:底层是数组结构,查询快,插入慢。
LinkedList:底层是链表结构,查询慢,插入快。
2,Set接口实现类:
Set集合(不能出现重复的元素)
HashSet:底层是HashMap:哈希表(散列表)
*在使用此类存储自定义的类的时候,需要在自定义类中重写,equals()和HashSet()方法。
TreeSet:底层是TreeMap:红黑树
*在使用此类存储自定义的类的时候,自定义类需要实现Comparable接口,并重写Comparable接口中的CompareTo()方法
例如:
//自定义类class Stu implements Comparable<Stu>{ private int age; Stu(int age){ this.age = age; } public void setAge(int age){ this.age = age; } public int getAge(){ return age; } //重写compareTo()方法 @Override public int compareTo(Stu o1){ if(o1.getAge()>this.getAge()){ return 1; }else if(o1.getAge()<this.getAge()){ return -1; } return 0; } //重写toString()方法 @Override public String toString() { return "Stu{" + "age=" + age + '}'; }}//这样再把此类存储到TreeSet集合中时,就会调用重写的CompareTo()方法从而不会出现cannot be cast to java.lang.Comparable异常了
*或者在实例化TreeSet类的时候向其中传入自己实现的比较器类Comparator,并重写其中的Comparator()方法。
例如:
//自定义类class Stu{ private String name; Stu(String name){ this.name = name; } public void setName(String name){ this.name = name; } public String getName(){ return name; } //重写toString()方法 @Override public String toString() { return "Stu{" + "name='" + name + '\'' + '}'; }}//比较器类class MyComparator implements Comparator<Stu>{ @Override public int compare(Stu o1,Stu o2){ //因为String类中存在已经写好的compareTo()方法所以直接调用 return o1.getName().compareTo(o2.getName()); }}//在实例化构造TreeSet类的时候,将比较器实例化并传入其中,这样就不会出现cannot be cast to java.lang.Comparable异常TreeMap<Stu,Integer> m2 = new TreeMap<Stu,Integer>(new MyComparator());
3,Map接口实现类:
HashMap:底层是哈希表(散列表)【线程非同步】若想要使用线程同步的可以选择使用HashTable。
*在使用此类存储自定义的类的时候,需要在自定义类中重写,equals()和HashSet()方法。
TreeMap:底层是红黑树
*在使用此类存储自定义的类的时候,自定义类需要实现Comparable接口,并重写Comparable接口中的CompareTo()方法,或者在实例化TreeSet类的时候向其中传入自己实现的比较器类Comparator,并重写其中的Comparator()方法。
——————————未完待续——————————————————
阅读全文
0 0
- Java集合:集合框架
- 【Java】java集合框架
- [Java]Java集合框架
- JAVA集合框架和集合
- 【集合】Java集合框架介绍
- Java集合之集合框架
- [集合]Java的集合框架 Collection集合
- Java集合框架 (一)
- Java集合框架 (二)
- Java集合框架(三)
- Java集合框架
- 也来谈Java集合框架
- 也来谈Java集合框架
- Java集合框架 (一)
- Java集合框架
- 也来谈Java集合框架
- java集合框架
- Java集合框架总结
- 2、MyBatis的HelloWorld
- 编译java代码时,报错:找不到符号
- powerbuilder
- open() "/usr/local/nginx/logs/nginx.pid" failed
- Word2003入门动画教程34:将文档打印成PRN格式
- JAVA集合框架
- 判断一个数是否是2的整数次幂,python实现。
- 16 内核里gpio-keys设备驱动的设备树描述
- ios11非越狱如何安装ipa
- Unity Shader--简单的扇形扫描效果
- 优达(Udacity)-机器学习基础-误差原因
- 11月中下旬张家界自由行
- vs2013 调试到空格
- js工具处理之数字转大写格式