天天看点

JAVA学习笔记——集合

数组序列

1.依次按照顺序向arraylist中添加数据 用法:

将a添加到list中

list.add("a");

2.在第n个位置添加一个数据

在第1个位置添加e

list.add(1, "e");

注意:1.如果x位置上已经有元素则会取代原有元素的位置,原有元素会后移

2.arraylist中必须有足够多的数据,例如arraylist中没有任何数据,这个时候使用arraylist.add(1, "e");就会出现java.lang.indexoutofboundsexception异常。

原理:系统会对list中的每个元素e调用o.equals(e),方法,加入list中有n个元素,那么会调用n次o.equals(e),只要有一次o.equals(e)返回了true,那么list.contains(o)返回true,否则返回false。

contains方法调用equals()方法实现比较,如果需要比较list中是否存在某个值,则需要重写equals()方法

注:如果一个list中存在多个相同值,则indexof()返回第一个值的索引位置,

lastindexof()则返回最后一个值的索引位置。

set中,添加某个对象,无论添加多少次, 最终只会保留一个该对象(的引用), 并且,保留的是第一次添加的那一个