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. .NET Core技术研究-通过Roslyn代码分析技术规范提升代码质量

    随着团队越来越多,越来越大,需求更迭越来越快,每天提交的代码变更由原先的2位数,暴涨到3位数,每天几百次代码Check In,补丁提交,大量的代码审查消耗了大量的资源投入. 如何确保提交代码的质量和提 ...

  2. 你真的会用Flutter日期类组件吗

    Flutter系统提供了一些日期选择类组件,比如DayPicker.MonthPicker.YearPicker.showDatePicker.CupertinoDatePicker等,其中前4个为M ...

  3. 记录一下关于在工具类中更新UI使用RunOnUiThread犯的极其愚蠢的错误

    由于Android中不能在子线程中更新ui,所以平时在子线程中需要更新ui时可以使用Android提供的RunOnUiThread接口,但是最近在写联网工具类的时候,有时候会出现联网异常,这个时候为了 ...

  4. 拒绝老土!暗黑风格半透平面化主题—InfinityFreedom正式发布

    经常听到“路由器界面土点就土点吧,凑合能用就成.” 诚然,路由器重要的是功能,但为什么要辣眼睛呢? 拯救喜欢折腾的你,抢救干涩的眼球,原创OpenWrt主题Infinity Freedom正式发布! ...

  5. 谈谈DDD

    从战略到战术,领域驱动设计(Domain Driven Design,DDD)给出了诸多关于软件架构.设计.建模与编码的方法和模式,以用于应对业务复杂度.然而,许多开发人员对于 DDD 的价值仍然心存 ...

  6. 《ES6标准入门》读书笔记 第5章 - 正则增强

    第五章 - 正则增强 构造函数增强 允许覆写修饰符,如new RegExp(someRegex, 'ig') 字符串上的正则方法 原先match.replace等可以调用正则的方法在String的原型 ...

  7. 关于fromdata的上传文件问题

    <div <label>上传pdf</label> <input id="fileId" type="file" accep ...

  8. {path:“ /”,expires:7}这一段是什么意思?

    1.创建会话cookie: $ .cookie('name','value'); 2.创建到期的cookie,然后7天: $ .cookie('name','value',{到期日:7}); 3.创建 ...

  9. iview input 禁止输入特殊字符 ,解决中文输入法中input把拼音输入

    tips:解决了e.target中输入中文 会把拼音也输入的情况 1 html <FormItem label="角色名称" prop="roleName" ...

  10. (电脑连不上热点)电脑连上了WIFI,但是显示网络不可用怎么办?

    假如WIFI没有问题的话,那这个就是电脑网络堵塞的问题了,下面是解决的办法: 情况一 1.首先win键+R打开运行框,输入cmd 2.然后在命令行输入 ipconfig -release ipconf ...