Java-List

List

集合类中,List是最基础的一种集合:它是一种有序列表。
List的行为和数组几乎是完全相同:List内部按照放入元素的先后顺序存放,每个元素都可以通过索引确定自己的位置。

类型

List有两种类型的List:

  • ArrayList:擅长随机访问元素,但是在List中间插入和删除元素时速度较慢。
  • LinkedList:随机访问较慢,但是插入和删除操作快

删除和增加

删除操作:实际上就是把删除元素后面的元素依次往前挪动一个位置。
添加操作:是把添加的元素后面的元素一次往后挪动一个位置,腾出来的位置为新加的元素。
这两种操作,用数组实现起来都很麻烦。

在实际应用中,需要增删元素的有序列表,使用最多的是ArrayList
ArrayList在内部使用了数组来存储所有元素,例如一个ArrayList有5个元素,实际数组大小为6(即有一个空位);

List 特点

  • List允许我们添加重复元素,即List内部的元素可以重复:
package com.wtcto;
import java.util.*;

public class HelloJava {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("pear");
        list.add("apple");
        System.out.println(list.size());//3
    }

}

创建List

可以这样创建一个List:

List<Apple>apples = new ArrayList<>();

注意ArrayList已经被向上转型为了List。
除了使用ArrayList和LinkedList,我们还可以通过List接口提供的of()方法,根绝给定元素快速创建List:

List<Integer>list = List.of(1,3,5);

但是List.of()方法不接受null值。

遍历List

使用迭代器Iterator来访问List。Iterator本身也是对象,它由List的实例调用iterator()方法时候创建的。
一般遍历数组都是采用for循环或者增强for,这两种方法也可以用在集合框架,但是还有一种方法是采用迭代器遍历集合框架,它是一个对象,实现了iterator接口或者Listlterator接口。

package com.wtcto;
import java.util.*;

public class HelloJava {
    public static void main(String[] args) {
      List<String>list= new ArrayList<String>();
      list.add("apple");
      list.add("banana");
      list.add("bear");
      //第一种方法遍历使用for-earch
        for (String str:list){
            System.out.println(str);
        }
      //第二种遍历,使用迭代器进行相关遍历
        Iterator<String>ite=list.iterator();
        while(ite.hasNext()){//判断下一个元素有值
            System.out.println(ite.next());
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值