java中的集合和区别
Iterator接口是负责定义访问和遍历元素的接口
Connection接口存储了一组不唯一(允许重复)的无序对象
Set接口继承了Connection接口,主要用来存储一组唯一(不允许重复的),无序对象
Map接口存储了一组键值对的对象,key不要求有序,不允许重复,value同样不要求有序,但可以重复
List接口继承了Connection接口,主要存储了一组不唯一(允许重复)有序对象(以元素的插入次序来放置元素,不会进行排列)的对象
ArrayList和LinkedList的区别:
共同点:null值允许重复,并且都保证了元素的存储顺序
ArrayList优点:在于遍历元素和随机访问元素的效率比较高
LinkedList优点:插入和删除元素时的效率比较高,它提供了额外的addFirst(),addLast(),removeFirst()等方法
Vector和ArrayList的区别:
vector是线程安全的,ArrayList重速度,轻安全,是线程非安全的,所有当运行到多线程环境中时,需要自己管理线程的同步问题,
当长度需要增长时,Vector默认增长为原来的一倍,而ArrayList只增长50%,有利于节省内存空间
HashTable和HashMap的区别:
HashTable继承自Dictionary类,HashMap实现了Map接口
HashTable是线程安全的,HashMap重速度,轻安全,是线程非安全的,,所有当运行到多线程环境中时,需要自己管理线程的同步问题
HashTable不允许有null值和null键,
HashMap运行有null值和null键
java中的集合和区别的更多相关文章
- C#与java中的集合区别
集合一般的操作 插入: add 删除: remove 查找: contains,remove java中的集合 注意哪些是接口,哪些是实现类 使用集合的时候 1. ...
- Java 中的集合接口——List、Set、Map
Java 中的集合接口——List.Set.Map 什么叫集合:集合就是Java API所提供的一系列类的实例,可以用于动态存放多个对象.这跟我们学过的数组差不多,那为什么我们还要学集合,我们看看数组 ...
- java中ArrayList 、LinkList区别
转自:http://blog.csdn.net/wuchuanpingstone/article/details/6678653 个人建议:以下这篇文章,是从例子说明的方式,解释ArrayList.L ...
- java中equals和==的区别 (转)
java中equals和==的区别 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引 ...
- 菜鸟日记之 java中的集合框架
java中的集合框架图 如图所示:java中的集合分为两种Collection和Map两种接口 可分为Collection是单列集合和Map的双列集合 Collection单列集合:继承了Iterat ...
- java中==与equel的区别
值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中. ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地 ...
- Java中的集合概述
Java中的集合类有两个重要的分支,分别是接口Collection(包括List,Set等)和接口Map. 由于HashSet的内部实现原理使用了HashMap,所以我们先来了解Map集合类. 1.H ...
- JAVA中的集合容器操作类
目录 JAVA中的集合容器操作类 List集合 ArrayList的操作方法说明 LinkedList Stack Set Map Queue 总结 JAVA中的集合容器操作类 Java容器类库总共分 ...
- Java中的集合框架-Collection(二)
上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...
随机推荐
- React Native的环境搭建以及开发的IDE
(一)前言 前面的课程我们已经对React Native的环境搭建以及开发的IDE做了相关的讲解,今天我们的主要讲解的是应用设备运行(Running)以及调试方法(Debugging).本节的前提条件 ...
- 过滤emoji表情
str=str.replace(/\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g, "");
- <a>标签的用法。
1.创建电子邮件链接: <html> <head> <title>发给朱永成</title> </head> <body> &l ...
- 关于js的keycode13
一个form 里面只有一个input的时候 触发keydown 之类的事件 表单会在你的动作之外再次提交一次.并且 字段使用的是input的id 而不是name 可以在form上加一个onsu ...
- c# CLI托管工程开启调试c++库工程代码
启动调试c#winform工程中,无法命中c++库工程中中的断点,在c#工程中更改调试设置: 勾选上Enable unmanaged code debuging
- IPv6实验准备
这篇是我的第一篇博客,我想先对H3C的<IPv6技术>的实验部分进行实验和总结,欢迎评论转载. 本实验用的网路设备模拟器是HCL_7.1.59,hcl的这款模拟器非常耗费内存,各种报错,因 ...
- Linux测试环境部署tomcat(二)
安装配置tomcat 1:在http://tomcat.apache.org/download-80.cgi下载最新安装包 2:安装tomcat 将apache-tomcat-8.0.21.tar.g ...
- Servlet页面登录的数据库验证程序(二)
这个程序在原来的程序基础上加入了密码验证. 一.增加一个error.jsp页面,用于跳转出现用户名和密码错误显示信息. <%@ page language="java" im ...
- Android 从图库到选择图片onActivityResult接收注意的问题
从图库选择图片然后返回数据接收处理的时候,这个时候我们可能会遇到一个问题.就是明明我走了返回的代码.但是为什么我的图片路径没有拿到?这个时候可能是Android的api不同导致,因为Android4. ...
- 在Visual Studio中设置多核并行编译
VS是一款非常强大实用的IDE,是在Windows环境下学习编程的首选软件. 有些时候大一点的工程项目编译要耗时挺长时间,随便修改一下代码就可能要编译将近一分钟,甚至更多.即便在开启的增量编译的情况下 ...