java中的集合框架 ArrayList,LinkedList,HashSet,Vector,TreeSet有什么不同,以及如何使用呢,最好是能给个代码的例子,谢谢
解决方案 »
- 在facebook注册api失败,在填写验证码后,提示信息说我的时假账号,手机也验证过了,怎么办啊,就这一步了
- 静态内部类的优点
- LoanApplet类在引用其他包中的Loan类来创建Loan类对象时出错
- 请高手们帮忙看一下,这段代码运行后,窗口的关闭按钮无效。
- 谁知道这个目录在哪as-install/bin/asant
- 招聘2年以上Java, .NET, C++软件工程师。
- 我是java初学者,为什么我用ultraedit的时候关键字不变色啊?
- 不知道这种问题有没有人会???请经验丰富的java高手进来帮忙看看!
- 连接MYSQL 的问题,请看
- 怎样将多个ejb最终打包成一个*ClientEAR.jar?
- 练习多线程,写了个买票的程序,但是有问题
- Socket实现多线程通信问题
这个兄弟的这篇文章总结的挺好的,希望对你有帮助!其实这些容器不是每个都会经常用到的,想要完全掌握掌握需长时间实践才可以!
|-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步 |-- LinkedList:底层使用的是链表数据结构,特点是:增 删很快,查询慢。 |--Vector:底层是数组数据结构,线程同步,被ArrayList代替了,现在用的只有他的枚举。
Set:元素是无序的,且不可以重复(存入和取出的顺序不一定一致),线程不同步。 |--HashSet:底层是哈希表数据结构。根据hashCode和equals方法来确定元素的唯一性 |--TreeSet:可以对Set集合中的元素进行排序(自然循序),底层的数据结构是二叉树,也可以自己写个类实现Comparable 或者 Comparator 接口,定义自己的比较器,将其作为参数传递给TreeSet的构造函数。Map:这个集合是存储键值对的,一对一对往里存,而且要确保键的唯一性(01,张三)这样的形式打印出来就是 01=张三
|--HashTable:底层是哈希表数据结构,不可以存入null键和null值,该集合线程是同步的,效率比较低。出现于JDK1.0 |--HashMap:底层是哈希表数据结构,可以存入null键和null值,线程不同步,效率较高,代替了HashTable,出现于JDK 1.2 |--TreeMap:底层是二叉树数据结构,线程不同步,可以用于个map集合中的键进行排序
|-- ArrayList:底层的数据结构是数组结构,特点是:查询很快,增 删 稍微慢点,线程不同步 |-- LinkedList:底层使用的是链表数据结构,特点是:增 删很快,查询慢。 |--Vector:底层是数组数据结构,线程同步,被ArrayList代替了,现在用的只有他的枚举。
Set:元素是无序的,且不可以重复(存入和取出的顺序不一定一致),线程不同步。 |--HashSet:底层是哈希表数据结构。根据hashCode和equals方法来确定元素的唯一性 |--TreeSet:可以对Set集合中的元素进行排序(自然循序),底层的数据结构是二叉树,也可以自己写个类实现Comparable 或者 Comparator 接口,定义自己的比较器,将其作为参数传递给TreeSet的构造函数。Map:这个集合是存储键值对的,一对一对往里存,而且要确保键的唯一性(01,张三)这样的形式打印出来就是 01=张三
|--HashTable:底层是哈希表数据结构,不可以存入null键和null值,该集合线程是同步的,效率比较低。出现于JDK1.0 |--HashMap:底层是哈希表数据结构,可以存入null键和null值,线程不同步,效率较高,代替了HashTable,出现于JDK 1.2 |--TreeMap:底层是二叉树数据结构,线程不同步,可以用于个map集合中的键进行排序