java类集框架(ArrayList,LinkedList,Vector区别)
主要分两个接口:collection和Map
主要分三类:集合(set)、列表(List)、映射(Map)
1.集合:没有重复对象,没有特定排序方式
2.列表:对象按索引位置排序,可以有重复对象
3.映射:有一个键对象和一个值对象,键不可重复,值可以重复
这里我们介绍List
list是接口,linklist和arraylist是list的实现类
linklist是用的链表来实现的,arraylist是用数组来实现的
ArrayList:缺点:内存使用量要大一些,添加删除元素效率较低。元素随机访问的效率较高。
LinkedList:相反。
注:
vector和ArrayList的实现方法一致,都是用数组实现,
区别:vector是线程安全,ArrayList是线程不安全
vector可以实现枚举遍历,arrayList不可以
vector已经被ArrayList取代,1.2版本后出现ArrayList,
import java.util.ArrayList; public class main { public static void main(String args []) {
//list定义
ArrayList<String> ary=new ArrayList<String>();
//list添加元素
ary.add("ab");
ary.add("cd");
ary.add("ef");
//获取元素值
String s=ary.get(1);//ArrayList从0位开始存放,和数组一样
System.out.println(s);
//删除元素值
ary.remove(0);//移除前面的元素后,后面的自动向前补进
//返回当前列表里元素个数
ary.size();
} }
java类集框架(ArrayList,LinkedList,Vector区别)的更多相关文章
- 浅谈java类集框架和数据结构(1)
在另外一篇博客我简单介绍了java类集框架相关代码和理论. 这一篇博客我主要分析一下各个类集框架的原理以及源码分析. 一:先谈谈LinkedList 这是LinkedList源码的开头,我们能看到几点 ...
- 浅谈java类集框架和数据结构(2)
继续上一篇浅谈java类集框架和数据结构(1)的内容 上一篇博文简介了java类集框架几大常见集合框架,这一篇博文主要分析一些接口特性以及性能优化. 一:List接口 List是最常见的数据结构了,主 ...
- Java类集框架详细汇总-底层分析
前言: Java的类集框架比较多,也十分重要,在这里给出图解,可以理解为相应的继承关系,也可以当作重要知识点回顾: Collection集合接口 继承自:Iterable public interfa ...
- 专题笔记--Java 类集框架
Java 类集框架 1. Java类集框架产生的原因 在基础的应用中,我们可以通过数组来保存一组对象或者基本数据,但数组的大小是不可更改的,因此出于灵活性的考虑和对空间价值的担忧,我们可以使用链表来实 ...
- Java类集框架——List接口
学习目标 掌握List接口与Collection接口的关系. 掌握List接口的常用子类:ArrayList.Vector. 掌握ArrayList与Vector类的区别. Collection ...
- List的三个子类ArrayList,LinkedList,Vector区别
一:List的三个子类的特点 ArrayList: 底层数据结构是数组,查询快,增删慢. 线程不安全,效率高.Vector: 底层数据结构是数组,查询快,增删慢. 线程安全,效率低.Vector相对A ...
- java:类集框架conllection接口list,set
类集中提供了以下几种接口: 1.单值操作接口:conllection,List,Set list和set是conllection接口的子接口 2.一对值的操作接口:Map 3.排序的操作接口:Sort ...
- java类集框架图(google找的,备个份)
- Java中List,ArrayList、Vector,map,HashTable,HashMap区别用法
Java中List,ArrayList.Vector,map,HashTable,HashMap区别用法 标签: vectorhashmaplistjavaiteratorinteger ArrayL ...
随机推荐
- json串拼接模版
var jsonarr = new Array;; jsonstr = '{' + '"objuid":' + '"' + abp.common.json2string( ...
- php简单分页
<?php //详情联系QQ:1195989301 自己引用数据库类文件 $c = $db->get_one("select count(*) from `{$DT_PRE}br ...
- Lucene实战之初体验
前言 最早做非结构化数据搜索时用的还是lucene.net,一直说在学习java的同时把lucene这块搞一搞,这拖了2年多了,终于开始搞这块了. 开发环境 idea2016.lucene6.0.jd ...
- ionic 添加新module
angular.module 引入新的module: 1. 在index.html中需要引入必须的js文件2. app.js: angular.module('starter', ['ionic',' ...
- 使用RecyclerView实现的分组列表。
项目介绍: StickyHeaders使用RecyclerView实现的分组列表
- idea调试SpringMvc, 出现:”通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明“错误的解决方法
调试json格式输出,出现以下错误: HTTP Status 500 - Servlet.init() for servlet HelloDispatcher threw exception ty ...
- Linux(CentOS6.7) 安装MySql5.7数据库
linux(CentOS6.7) 环境Mysql 5.7.17安装教程分享给大家,供大家参考,具体内容如下: 1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/ ...
- 混合高斯模型(GMM)推导及实现
作者:桂. 时间:2017-03-20 06:20:54 链接:http://www.cnblogs.com/xingshansi/p/6584555.html 声明:欢迎被转载,不过记得注明出处哦 ...
- Flex表格中添加图片
Flex4.5中datagrid加入图片显示image <s:DataGrid id="maingrid" x="0" y="36" ...
- insmod: can't insert 'led.ko': invalid module format详细解释
insmod: can't insert 'led.ko': invalid module format 之前在Imx257学习版固件编写的驱动想直接移植imx257核心板的开发板上.以为2个板子的源 ...