ArrayList

package com.aff.coll;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test; /*
集合
Collection接口
|----List接口:存储有序,可以重复的元素
|----ArrayList(主要的实现类,首选,底层数组实现)
|----LinkedList(底层链表结构,适用于频繁的插入,删除操作)
|----Vector(古老的,线程安全的,速度慢,不用了)
|----Set接口:存储无序的,不可重复的元素
|----HashSet
|----LinkedHashSet
|----TreeSet Map接口:存储 "键-值"对的数据
|----HashMap
|----LinkedHashMap
|----TreeMap
|----HashTable(子类:properties)
*/
public class TestList {
// ArrayList:List的主要实现类
/*
List中相对于Collection,新增加的方法
-- void add(int index,Object ele); 在指定索引位置index添加元素
--boolean addAll(int index,Collection ele); 指定索引添加集合
--Object get(int index); 获取指定索引的元素
--Object remove(int index); 删除指定索引位置的元素
--Object set(int index,Object ele); 设置指定索引位置的元素为ele
--int indexOf(Object obj ); 返回obj在在集合中首次出现的位置,没有的话返回-1
--int lastIndexOf(Object obj); 返回obj在集合中最后一次出现的位置,没有的话,返回-1
--List subList(int fromIndex,int toIndex ); 返回从fromIndex到toIndex结束的一个子list,
不含后面的为 "[ )" 左闭右开关系 List常用的方法:增: add(Object obj)
删: remove()
改: set(int index,Object obj)
查: get(int index)
插: add(int index,Object ele)
长度: size()
注意:添加进List集合中的元素(或对象)所在的类一定要重写equals(方法)
*/ @Test
public void testList2(){
List list = new ArrayList();
//换成LinkedList输出结果一样的,但是底层是不一样,LinkedList底层用的是链表,
//LinkedList list2 = new LinkedList();
list.add(123);
list.add(456);
list.add(new String("AA"));
list.add(new String("CC"));
list.add(456);
System.out.println(list.indexOf(456));//
System.out.println(list.lastIndexOf(456));//
System.out.println(list.indexOf(444));//-1 没有
System.out.println(list.subList(0, 3)); //[123, 456, AA]
} @Test
public void testList() {
List list = new ArrayList();
list.add(123);
list.add(456);
list.add(new String("AA"));
list.add(new String("BB"));
System.out.println(list);//[123, 456, AA, BB] list.add(0, 555);
System.out.println(list); Object obj = list.get(1);
System.out.println(obj); list.remove(0);
System.out.println(list.get(0));
list.set(0, 111);
System.out.println(list.get(0));
/*
[123, 456, AA, BB]
[555, 123, 456, AA, BB]
123
123
111
*/
}
}

ArrayList及List的常用方法的更多相关文章

  1. Java基础学习笔记六 Java基础语法之类和ArrayList

    引用数据类型 引用数据类型分类,提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类.我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner ...

  2. 精通ArrayList,关于ArrayList你想知道的一切

    目录 精通ArrayList,关于ArrayList你想知道的一切 前言 ArrayList 内部结构,和常用方法实现 实例化方法 添加元素 add()方法 get()方法 移除元素 怎么扩容的 序列 ...

  3. java集合之ArrayList链表基础

    ArrayList可变数组 : arrayList继承AbstractList抽象类,实现list接口,底层基于数组实现.可存放null,除了非同步的之外,大致等同Vector.适用快速访问,复制.序 ...

  4. Collection集合重难点梳理,增强for注意事项和三种遍历的应用场景,栈和队列特点,数组和链表特点,ArrayList源码解析, LinkedList-源码解析

    重难点梳理 使用到的新单词: 1.collection[kəˈlekʃn] 聚集 2.empty[ˈempti] 空的 3.clear[klɪə(r)] 清除 4.iterator 迭代器 学习目标: ...

  5. Java——集合框架之ArrayList,LinkedList,迭代器Iterator

    概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...

  6. Java集合框架(二)

    原文  http://www.jianshu.com/p/2070cb32accb List接口 查阅API,看 List 的介绍.有序的 collection (也称为序列).此接口的用户可以对列表 ...

  7. 第6天 Java基础语法

    第6天 Java基础语法 今日内容介绍 自定义类 ArrayList集合 引用数据类型(类) 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类 ...

  8. java基础笔记(3)

    捕获异常: try{ ...... }catch(Exception e){ ...... }finally{ ...... } 注意:在写多重catch时需先小后大: 自定义异常: String字符 ...

  9. jdk集合常用方法分析之ArrayList&LinkedList&以及两者的对比分析

    集合使用注意事项: 1.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中去(JDK5之后会进行自动的装箱和拆箱操作,表面上看集合中是可以直接放置原生 ...

随机推荐

  1. vue跳转的两种方法

    1 标签跳转 <router-link to='two'><button>点我到第二个页面</button></router-link> 2 点击事件跳 ...

  2. 经典卷积神经网络算法(1):LeNet-5

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  3. 软件——Ubuntu16.04设置静态ip地址

    1.获取网卡名称 在命令行输入ifconfig -a 2.修改网卡配置文件 sudo vim /etc/network/interfaces 加上下面的配置,IP地址可以成适合你的 auto eth0 ...

  4. Java——字节和字符的区别

    字节 1.bit=1  二进制数据0或1 2.byte=8bit  1个字节等于8位 存储空间的基本计量单位 3.一个英文字母=1byte=8bit 1个英文字母是1个字节,也就是8位 4.一个汉字= ...

  5. K - Leapin' Lizards HDU - 2732 网络流

    题目链接:https://vjudge.net/contest/299467#problem/K 这个题目从数据范围来看可以发现是网络流,怎么建图呢?这个其实不是特别难,主要是读题难. 这个建图就是把 ...

  6. (1).Mybatis的创建。配置。映射。dao映射

    https://www.cnblogs.com/zxdup/ 一.Mybatis的创建 1.创建一个新的项目,建议选 Empty Project(空项目), 之后回跳转到Project Structu ...

  7. spring的bean的属性注入

    一.设置注入 设置注入要求: 要求属性在实体类中必须有getter 和setter方法,然后在spring的工厂中就可以使用property标签进行设值注入. 二.构造注入 通过类的构造方法的方式注入 ...

  8. LRU 的C# 实现

    首先 先写点儿感悟吧: 本来计划是 晚上回家写的  后来发现还是没坚持的了  上午花了一个多小时  做了一下这个题目  应该还有提高的空间 的,这个题目是在力扣里面看到的  为什么看到这个题目 是因为 ...

  9. 【Scala】关于集合的各种知识点

    目录 映射Map 不可变Map 概述 操作实例 可变Map 概述 操作实例 Map的遍历 for循环遍历 格式 操作实例 模式匹配遍历 格式 操作实例 Tuple 元祖 概述 定义格式 获取元素方法 ...

  10. 【Hadoop离线基础总结】Hadoop的架构模型

    Hadoop的架构模型 1.x的版本架构模型介绍 架构图 HDFS分布式文件存储系统(典型的主从架构) NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用 ...