ArrayList及List的常用方法
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的常用方法的更多相关文章
- Java基础学习笔记六 Java基础语法之类和ArrayList
引用数据类型 引用数据类型分类,提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类.我们可以把类的类型为两种: 第一种,Java为我们提供好的类,如Scanner ...
- 精通ArrayList,关于ArrayList你想知道的一切
目录 精通ArrayList,关于ArrayList你想知道的一切 前言 ArrayList 内部结构,和常用方法实现 实例化方法 添加元素 add()方法 get()方法 移除元素 怎么扩容的 序列 ...
- java集合之ArrayList链表基础
ArrayList可变数组 : arrayList继承AbstractList抽象类,实现list接口,底层基于数组实现.可存放null,除了非同步的之外,大致等同Vector.适用快速访问,复制.序 ...
- Collection集合重难点梳理,增强for注意事项和三种遍历的应用场景,栈和队列特点,数组和链表特点,ArrayList源码解析, LinkedList-源码解析
重难点梳理 使用到的新单词: 1.collection[kəˈlekʃn] 聚集 2.empty[ˈempti] 空的 3.clear[klɪə(r)] 清除 4.iterator 迭代器 学习目标: ...
- Java——集合框架之ArrayList,LinkedList,迭代器Iterator
概述--集合框架 Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类).所有抽象出来的数据结构和操作(算法)统称为Java集合框架(Java Collection ...
- Java集合框架(二)
原文 http://www.jianshu.com/p/2070cb32accb List接口 查阅API,看 List 的介绍.有序的 collection (也称为序列).此接口的用户可以对列表 ...
- 第6天 Java基础语法
第6天 Java基础语法 今日内容介绍 自定义类 ArrayList集合 引用数据类型(类) 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类.Random类 ...
- java基础笔记(3)
捕获异常: try{ ...... }catch(Exception e){ ...... }finally{ ...... } 注意:在写多重catch时需先小后大: 自定义异常: String字符 ...
- jdk集合常用方法分析之ArrayList&LinkedList&以及两者的对比分析
集合使用注意事项: 1.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中去(JDK5之后会进行自动的装箱和拆箱操作,表面上看集合中是可以直接放置原生 ...
随机推荐
- vue跳转的两种方法
1 标签跳转 <router-link to='two'><button>点我到第二个页面</button></router-link> 2 点击事件跳 ...
- 经典卷积神经网络算法(1):LeNet-5
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- 软件——Ubuntu16.04设置静态ip地址
1.获取网卡名称 在命令行输入ifconfig -a 2.修改网卡配置文件 sudo vim /etc/network/interfaces 加上下面的配置,IP地址可以成适合你的 auto eth0 ...
- Java——字节和字符的区别
字节 1.bit=1 二进制数据0或1 2.byte=8bit 1个字节等于8位 存储空间的基本计量单位 3.一个英文字母=1byte=8bit 1个英文字母是1个字节,也就是8位 4.一个汉字= ...
- K - Leapin' Lizards HDU - 2732 网络流
题目链接:https://vjudge.net/contest/299467#problem/K 这个题目从数据范围来看可以发现是网络流,怎么建图呢?这个其实不是特别难,主要是读题难. 这个建图就是把 ...
- (1).Mybatis的创建。配置。映射。dao映射
https://www.cnblogs.com/zxdup/ 一.Mybatis的创建 1.创建一个新的项目,建议选 Empty Project(空项目), 之后回跳转到Project Structu ...
- spring的bean的属性注入
一.设置注入 设置注入要求: 要求属性在实体类中必须有getter 和setter方法,然后在spring的工厂中就可以使用property标签进行设值注入. 二.构造注入 通过类的构造方法的方式注入 ...
- LRU 的C# 实现
首先 先写点儿感悟吧: 本来计划是 晚上回家写的 后来发现还是没坚持的了 上午花了一个多小时 做了一下这个题目 应该还有提高的空间 的,这个题目是在力扣里面看到的 为什么看到这个题目 是因为 ...
- 【Scala】关于集合的各种知识点
目录 映射Map 不可变Map 概述 操作实例 可变Map 概述 操作实例 Map的遍历 for循环遍历 格式 操作实例 模式匹配遍历 格式 操作实例 Tuple 元祖 概述 定义格式 获取元素方法 ...
- 【Hadoop离线基础总结】Hadoop的架构模型
Hadoop的架构模型 1.x的版本架构模型介绍 架构图 HDFS分布式文件存储系统(典型的主从架构) NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用 ...