List List接口是Collection接口的子接口,从其名称可以看出,是一个元素有序(并不是按大小排序,具有顺序索引,类似于数组),默认按照元素的添加顺序设置元素的索引. List用法 List包括List接口以及List接口的所有实现类.因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法.List接口定义的常用方法及功能: 方法一 声明一个List类型变…
1.List接口 (1)特点 有序(插入和取出的顺序相等,因为有一个整数索引记录了元素的插入的位置) 允许有重复的元素(调用equals方法返回true,允许有多个null) @Test public void test1() { List list=new ArrayList(); list.add(""); list.add(""); list.add(null); list.add(); list.add(null); System.out.println(l…
java面试中经常被问到list常用的类以及内部实现机制,平时开发也经常用到list集合类,因此做一个源码级别的分析和比较之间的差异. 首先看一下List接口的的继承关系: list接口继承Collection接口,Collection接口继承Iterable接口. Iterable接口定义的方法: public interface Iterable<T> { /** * Returns an iterator over a set of elements of type T. * * @re…
1.Java集合框架为不同类型的集合定义了大量接口 其中,集合有两个基本接口:Collection和Map. 2.各接口的主要特征如下 (1)Collection接口:是List接口.Set接口和Queue接口的父接口,通常情况下不能被直接使用. (2)List接口:实现了Collection接口,List接口允许存放重复的对象,按照对象的插入顺序排列 (3)Set接口:实现了Collection接口,Set接口不允许存放重复的对象,按照自身内部的排序规则排列 (4)Queue接口:实现了Col…
Java的List接口有3个实现类,分别是ArrayList.LinkedList.Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复. 3个具体实现类的区别如下: 1. ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时需要增加存储能力,就要将已经有数组的数据复制到新的存储空间中.当从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制.移动.代价比较高.因此,它…
查阅API,看List的介绍.有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素.与 set 不同,列表通常允许重复的元素. 看完API,我们总结一下: List接口: 它是一个元素存取有序的集合.例如,存元素的顺序是11.22.33.那么集合中,元素的存储就是按照11.22.33的顺序完成的). 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是…
List 的方法列表 方法名 功能说明 ArrayList() 构造方法,用于创建一个空的数组列表 add(E e) 将指定的元素添加到此列表的尾部 get(int index) 返回此列表中指定位置上的元素 size() 返回此列表中的元素数 clear() 移除此列表中的所有元素 isEmpty() 如果此列表中没有元素,则返回true remove(int index) 移除此列表中指定位置上的元素 indextof(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不…
.t1 { background-color: #ff8080; width: 1100px; height: 40px } 一.内部类 1.成员内部类. (1)成员内部类的实例化: 外部类名.内部类名   变量名=外部类对象.new 内部类名(); class Person{ class Test{ } } Person p=new Person(); Person.Test t=p.new Test(); (2)在内部类中访问外部类属性或方法. 外部类名.this.属性名  Person.t…
Set接口 set接口的实现类特点 1.无序(取出来的顺序和存进去的数据的顺序不一致) 2.唯一(数据不能存相同的) 底层是用Map集合写的 HashSet类  实现了  set接口       唯一性  public class HashSetTest { public static void main(String[] args) { HashSet<String> hs=new HashSet<String>(); hs.add("hello"); hs.…
集合概述 集合有时又称为容器,简单地说,它是一个对象,能将具有相同性质的多个元素汇聚成一个整体.集合被用于存储.获取.操纵和传输聚合的数据. 使用集合的技巧 看到Array就是数组结构,有角标,查询速度很快. 看到link就是链表结构:增删速度快,而且有特有方法.addFirst: addLast:removeFirst(): removeLast(): getFirst():getLast(): 看到hash就是哈希表,就要想到哈希值,就要想到唯一性,就要想到存入到该结构的中的元素必须覆盖ha…