java集合框架之List
一、List:
1、 特有的常见方法:(有个共性特点就是都可以操作角标)
(1)、添加
void add(int Index , E element):在list的指定位置插入元素
void addAll(int index , Collection<? Extends E> e):将指定collection中的所有元素插入到列表中的指定位置
(2)、删除
E remove(int Index):删除指定位置的元素,并返回该元素;
(3)、修改
E set(int index , E element):替换指定位置的元素,并返回被替换的元素
(4)、获取
Int indexOf(Object o):返回指定元素第一次出现的索引,如果该list中不含则返回-1;
E get(int Index):返回指定位置的元素;
List<E> sublist(int fromIndex , int toIndex):返回列表指定的fromIndex(包括)和toIndex(不包括)之间的部分视图(list);
2、 对list进行迭代的时候不能对list进行操作(增删改)
可以使用Iterator接口的子接口ListIterator来完成在迭代过程中对list进行操作,list.listIterator()方法返回此列表元素的列表迭代器,此迭代器可以倒序迭代(hasPrevious()方法和previous()),注意在对list作操作时应该对listIterator对象进行操作,例:
While(it.hasNext()){
// 注意这里不能用list.add(“demo”)!!!!!!
It.add(“demo”);
}
3、 常用对象
|-- Vector:内部是数组数据结构,是同步的,100%延长数组,增删查询都很慢。
|-- ArrayList:内部是数组数据结构,是不同步的,替代了Vector,50%延长数组,查询的数度快。
|--LinkedList:内部是链表数据结构,是不同步的,增删元素速度快。
4、常见对象详解
1、 Vector
// 枚举
Enumeration en = v.elements();
While(en.hasMoreElements()){
System.out.println(en.nextElement());
}
枚举与迭代器相同只是没有remove方法,推荐使用迭代器
2、 LinkedList
Linkedlist.add(“demo1”);
Linkedlist.add(“demo2”);
Linkedlist.add(“demo3”);
System.out.print(linkedlist);
输出[demo3,demo2,demo1];
当用LinkedList迭代时,元素是倒序输出
Linkedlist 的getFirst()当没有获取到数据时抛出异常NoSuchElementException,但是1.6版本的peekFirst()会返回null,(pollFirst()对应removeFirst())
java集合框架之List的更多相关文章
- Java集合框架List,Map,Set等全面介绍
Java集合框架的基本接口/类层次结构: java.util.Collection [I]+--java.util.List [I] +--java.util.ArrayList [C] +- ...
- Java集合框架练习-计算表达式的值
最近在看<算法>这本书,正好看到一个计算表达式的问题,于是就打算写一下,也正好熟悉一下Java集合框架的使用,大致测试了一下,没啥问题. import java.util.*; /* * ...
- 【集合框架】Java集合框架综述
一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...
- Java 集合框架
Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...
- Java集合框架之map
Java集合框架之map. Map的主要实现类有HashMap,LinkedHashMap,TreeMap,等等.具体可参阅API文档. 其中HashMap是无序排序. LinkedHashMap是自 ...
- 22章、Java集合框架习题
1.描述Java集合框架.列出接口.便利抽象类和具体类. Java集合框架支持2种容器:(1) 集合(Collection),存储元素集合 (2)图(Map),存储键值对.
- Java集合框架实现自定义排序
Java集合框架针对不同的数据结构提供了多种排序的方法,虽然很多时候我们可以自己实现排序,比如数组等,但是灵活的使用JDK提供的排序方法,可以提高开发效率,而且通常JDK的实现要比自己造的轮子性能更优 ...
- (转)Java集合框架:HashMap
来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details/50912762 Java集合框架概述 Java集合框架无论是在工作.学习.面试中都 ...
- Java集合框架
集合框架体系如图所示 Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包. Map接口的常用方法 Map接口提 ...
- Java集合框架(常用类) JCF
Java集合框架(常用类) JCF 为了实现某一目的或功能而预先设计好一系列封装好的具有继承关系或实现关系类的接口: 集合的由来: 特点:元素类型可以不同,集合长度可变,空间不固定: 管理集合类和接口 ...
随机推荐
- php跨域请求
跨域api服务器设置 header('content-type:application:json;charset=utf8'); header('Access-Control-Allow-Origin ...
- NSString格式校验
在项目开发过程中,NSString类型的变量是经常用到的,而且我们常常会对其格式进行对应的各种校验,你比如,在登录注册的时候,需要验证用户名的长度,用户名的字符组成等等,其实现在也有很多第三方提供的N ...
- 黑马程序员+ADO.Net基础(下)
---------------<a href="http://edu.csdn.net"target="blank">ASP.Net+Android ...
- asp.net identity 2.2.0 中角色启用和基本使用(三)
创建控制器 第一步:在controllers文件夹上点右键>添加>控制器, 我这里选的是“MVC5 控制器-空”,名称设置为:RolesAdminController.cs 第二步:添加命 ...
- Java虚拟机11:运行期优化
前言 http://www.cnblogs.com/xrq730/p/4839245.html,HotSpot采用的是解释器+编译器并存的架构,之前的这篇文章里面已经讲过了,本文只是把即时编译器这块再 ...
- 最少知识原则(Least Knowledge Principle)
最少知识原则(Least Knowledge Principle),或者称迪米特法则(Law of Demeter),是一种面向对象程序设计的指导原则,它描述了一种保持代码松耦合的策略.其可简单的归纳 ...
- Wix 安装部署教程(九) --用WPF做安装界面
经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎 ...
- Unity3D热更新全书-脚本(三) C#LightEvil语法与调试
调试,这是一个无法规避的问题 C#Light 由于有 词法解释.语法解释.运行时三种情况 所以和C#也是有类似的问题 出错大致可以分为编译错误和运行时错误 拼写出莫名的东西或者语法不正确,会在编译阶段 ...
- DISCUZ 自定义模板
DISCUZ 自定义模板 模板安装和维护 安装新模板 将模板template打包放在对应目录:template/ 后台 -> 界面 -> 风格管理 , 安装模板 后台 -> 界面 - ...
- Unity3D使用经验总结 优点篇
09年还在和其它小伙伴开发引擎的时候,Unity3D就初露头角. 当时就对这种基于组件式的设计结构很不理解. 觉得拆分过于细致,同时影响效率. 而时至今日,UNITY3D已经成为了众多团队的首选3D引 ...