第一节课

  1. 返回值 方法名 作用
    void add(index,elemnet) 在指定的索引处添加元素
    object get(index) 返回指定索引处的元素
    int indexOf(object) 元素第一次出现的位置
    int lastindexof(object) 元素最后一次出现的位置
    object set(index,object) 替换指定索引处的为指定对象
    boolean addAll(index,collection) 添加指定的集合到当前集合的指定索引处
    object remove(int) 删除当前集合中指定索引index处的元素,并返回被删除的元素
    List sublist(int fromindex,int toindex) 返回当前集合中指定索引fromindex到toindex处的所有元素组成的子集合
  2. ArrayList札记

    1. 数据结构是数组

    2. 特点:

      1. 增删慢,查询快;
      2. 其底层数组默认容量为10,新元素增加自动增加
  3. LinkedList概述

    1. 底层数据存储结构式链表结构

    2. 增删快,查询慢,另外还实现了Deque接口,因此可以被当做双端对列和栈使用

    3. 设计了很多的首尾操作的方法(e 为泛型的通配符)

    4. 特有方法合集:      

返回值 方法名 作用
void addFirst(e e) 将指定元素e插入当前集合的开头
void addLast(e e) 将指定元素e插入当前集合的末尾
E getFirst() 获取当前集合中的第一个元素
E getLast() 获取当前集合中的最后一个元素
e removeFirst() 删除当前集合中的第一个元素
e removeLast() 删除当前集合中最后一个元素
  1. ListIterator

  2. 提供了listIterator()方法,获取listIterator对象,专门用来迭代list集合,ListIterator接口继承于Iterator接口

返回值 方法名 作用
boolean hasprevious() 判断是否有下一个元素
object previous() 获取迭代的上一个元素
void add() 在指定位置添加元素
  1. Vector向量

    1. list接口的实现类,底层基于数组,默认容量10,每次增加一倍,是一个线程安全的集合

    2. Vector<String> vc=new Vector<String>();
      // create one vector collection;
      vc.capacity();
      // get vector collection capacity;
  2. Stack(栈)

    1. list集合的实现类,继承了vector,遵循先进后出的原则

    2. 名词解释:

      1. 栈顶元素:最后入栈的元素
      2. 栈底元素:最先入栈的元素
      3. 入栈/压栈:将元素放入栈中
      4. 出栈/弹栈:将元素从栈中取出
    3. Stack<String> s=new Stack<String>();
      // create onr stack collection
      s.push("xxxx");
      // 压栈
    4. 返回值 方法名 作用
      E push(E item) 将指定的元素item压入当前栈中
      E(synchronized) peek() 获取栈顶元素,不删除
      E(synchronized) pop() 出栈,并删除栈顶元素
      int(synchronized) search() 获取时从栈顶到栈底的顺序开始查找,以1为基数,若没有返回-1;
  3. Queue队列

    1. collection接口下的子接口,底层是队列的数据结构存储,遵循先进先出,后进后出的原则,最先放进去的元素叫队头元素,最后放进去的元素叫队尾元素

    2. Queue q = new ConcurrentLinkedQueue();
      // 创建队列对象
      q.offer("xxxxx");
      // 插入队列元素
    3. 常用方法

      返回值 方法名 作用
      boolean offer(E e) 插入元素,成功true,失败false
      E peek() 获取队头的元素,成功则输出,反之为null
      E element() 获取队头的元素,失败则抛出NosuchElementException(没有元素异常)
      E poll() 出队移除队头元素,失败返回null
      E remove() 移除队头元素,失败则抛出异常

Java学习笔记十二--集合(三)的更多相关文章

  1. Java学习笔记十二:Java中方法的重载

    Java中方法的重载 什么是方法的重载呢? 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方法名称都为 s ...

  2. Java学习笔记(十二)面向对象---内部类

    内部类的访问规则 内部类可以直接访问外部类中的成员,包括私有成员. 因为内部类中持有了一个外部类的引用,格式为:外部类名.this 外部类要访问内部类,必须要建立内部对象. class Outer { ...

  3. 【Java学习笔记之二十六】深入理解Java匿名内部类

    在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意 ...

  4. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

  5. Go语言学习笔记十二: 范围(Range)

    Go语言学习笔记十二: 范围(Range) rang这个关键字主要用来遍历数组,切片,通道或Map.在数组和切片中返回索引值,在Map中返回key. 这个特别像python的方式.不过写法上比较怪异使 ...

  6. java jvm学习笔记十二(访问控制器的栈校验机制)

    欢迎装载请说明出处:http://blog.csdn.net/yfqnihao 本节源码:http://download.csdn.net/detail/yfqnihao/4863854 这一节,我们 ...

  7. java se系列(十二)集合

    1.集合 1.1.什么是集合 存储对象的容器,面向对象语言对事物的体现,都是以对象的形式来体现的,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式.集合的出现就是为了持有对象.集 ...

  8. Java学习笔记(二)——Java操作properties文件

    [前面的话] 前段时间在学习和玩java web相关的东西,对于这些技术,一边学习,一边做东西,一边总结,希望可以一边成长和有所收获.有时总是思考太多反而成为了前进的阻力,所以对于生活还是简单一些,不 ...

  9. 201671010140. 2016-2017-2 《Java程序设计》java学习第十二周

    java学习第十章:图形程序设计       本章,介绍的是如何编写使用图形用户界面GUI的java程序.主要讲的是如何编写定义屏幕上的窗口大小和位置的程序,如何在窗口中采用多种字体显示文本,如何显示 ...

随机推荐

  1. Linux系统在开机的时候自动启动SVN

    Linux系统在开机的时候自动启动SVN 1.创建执行脚本svn.sh(/root路径下,随便哪个路径),其内容很简单,如下: #!/bin/bash     svnserve -d --listen ...

  2. sql server 中常用修改列 ,创建主外键操作

    表结构 CREATE TABLE [staff] ( [id] [varchar](50) NOT NUL L, [name] [varchar](50) NOT NULL, [password] [ ...

  3. What skills you need to become a full stack java developer?

    For a full stack Java developer you should start with learning backend and front-end technologies Fr ...

  4. Spring 梳理 - @Component

    使用@Component注解,表示该类定义为Spring管理Bean,使用默认value(可选)属性表示Bean标识符.如果不指定标识符,默认为首字母小写类名.例如类UserController的标识 ...

  5. js模拟下拉菜单-键盘、鼠标(代码详解)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. vue项目引入bootstrap正确姿势

    vue如何引入bootstrap 最近在玩全栈,自然少不了vue的使用.使用vue-cli生成的项目想引入bootstrap,需要先安装相应的npm包,然后在代码中显示引入. 1.安装依赖包: cnp ...

  7. Python flask 构建可扩展的restful apl☝☝☝

    Python flask 构建可扩展的restful apl☝☝☝ Flask-RESTful是flask的扩展,增加了对快速构建REST API的支持.Flask-RESTful通过最少的设置鼓励最 ...

  8. ElasticSearch安装SQL插件

    ElasticSearch安装SQL插件下载地址(中国大佬开发的,膜拜ing):https://github.com/NLPchina/elasticsearch-sql 1.记得选择和自己Elast ...

  9. Roadmap of FE

    未完待补充......

  10. 域渗透-凭据传递攻击(pass the hash)完全总结

    总结下PtH具体形式(wmicexec.powershell.msf等) 0x01 PtH攻击原理 && 黄金白银票据 PtH攻击原理 wiki  https://en.wikiped ...