【Java集合】初识集合及List接口

专栏【Java】

每日一句:唯有沉淀下来,才能走得更远

⭐欢迎并且感谢大家指出我的问题

【Java集合】初识集合及List接口_第1张图片

目录

1:集合(Collection)

(1)集合的由来

(2)集合和数组的区别

(3)集合的继承体系结构

(4)集合的特点:

2:List接口

(1)List是Collection的子接口

(2)List的功能:

(3)List的实现类特点

ArrayList:

Vector:

LinkedList:

(4)List集合的遍历功能


1:集合(Collection)

(1)集合的由来

我们学习的是Java -> 面向对象 -> 操作很多对象 -->存储 -->容器(数组和StringBuffer) -->数组

而数组的长度固定,所以不适合做变化的需求,Java就提供了集合供我们使用。

(2)集合和数组的区别

【Java集合】初识集合及List接口_第2张图片

内容区别:

基本类型:1、byte(位)2、short(短整数)3、int(整数)4、long(长整数)5、float(单精度浮动数)6、double(双精度)7、boolean(布尔类型)8、char(字符)

引用类型:除了8种基本类型,其他的都是引用类型,例如包装类,数组,接口等

元素区别:

集合可以存储不同类型

代码如下

public static void main(String[] args) {
  // TODO Auto-generated method stub
   List list =new ArrayList();
   list.add("hello");
   list.add("java");
   list.add("world");
   list.add(new Integer(100));//在未使用泛型的时候,集合中可添加任意类型的对象
   list.add("world");//可添加重复元素
   list.add("李白");
   list.add(null);//List集合也可以添加空元素对象
  for(int i=0;i

运行结果

【Java集合】初识集合及List接口_第3张图片

其实集合一般存储的也是同一种类型

一旦集合使用了泛型,集合中只能添加同样类型的元素

(3)集合的继承体系结构

由于需求不同,Java就提供了不同的集合类。这多个集合类的数据结构不同,但是它们都是要提供存储和遍历功能的,我们把它们的共性不断的向上提取,最终就形成了集合的继承体系结构图。

【Java集合】初识集合及List接口_第4张图片

(4)集合的特点:

Collection:集合中最基本的接口,一般不适用该接口,无序,不唯一,有两个子接口List和Set

【Java集合】初识集合及List接口_第5张图片

2:List接口

(1)List是Collection的子接口

特点:有序(存储顺序和取出顺序一致),不唯一(可添加重复元素)。

(2)List的功能:

添加功能

void add(int index,Object element):在指定位置添加元素

删除功能

boolean remove(Object o):移除一个元素

Object remove(int index):根据索引删除元素,返回被删除的元素

获取功能

Object get(int index):获取指定位置的元素

注意在未使用泛型的情况下,任何类型的元素加入到集合中都转换成了Object类型

判断功能

boolean contains(Object o):判断集合中是否包含指定的元素

boolean isEmpty():判断集合是否为空

修改功能

Object set(int index,Object element):根据索引修改元素,返回被修饰的元素

长度功能

  int size():元素的个数

迭代器功能

Iterator  iterator()

ListIterator listIterator():List集合特有的迭代器

(3)List的实现类特点

ArrayList:

                   底层数据结构是数组,查询快,增删慢。

                   线程不安全,效率高。

Vector:

                底层数据结构是数组,查询快,增删慢。

                线程安全,效率低。

LinkedList:

               底层数据结构是链表,查询慢,增删快

               线程不安全,效率高。

(4)List集合的遍历功能

普通For循环配合List接口中的size()和get(index i)的方法

代码如下

public static void main(String[] args) {
	// TODO Auto-generated method stub
   List list = new ArrayList();
   list.add("hello");
   list.add("world");
   list.add("java");
   list.add("world");
  for (int i = 0; i < list.size(); i++) {
    String s = (String) list.get(i);
    System.out.println(s);
	}
}

​

运行结果

【Java集合】初识集合及List接口_第6张图片


欢迎大家留言讨论并且感谢大家指出我的不足

你可能感兴趣的:(Java,java,开发语言)