Java list集合

Java的集合:

Java集合类是一种特别有用的工具类,可用于存储数量不等的对象,并可以实现常用 的数据结构,如栈、队列等。除此之外,Java集合还可用于保存具有映射关系的关联 数组。Java集合大致可分为List、Set、Queue和Map四种体系,其中List代表有序、 重复的集合;Set代表无序、不可重复的集合;而Map则代表具有映射关系的集合, Java5又增加了Queue体系集合,代表一种队列集合实现。

集合的概述:

我们将很多东西拼凑在一起,将题目称为集合

迭代器: 其实就是取出元素的方式(只能判断,取出,移除,无法增加)

我们可以把Java中的集合看成是一个工具,一个装东西的工具,就比如容器,可以储存任意数量的具有共同属性的对象

集合是储存对象的,长度可变,可以封装不同的对象

集合类和数组不一样,数组元素既可以是基本类型的值,也可以是对象(实际上保存 的是对象的引用变量);而集合里只能保存对象(实际上只是保存对象的引用变量, 但通常习惯上认为集合里保存的是对象)。

Java的集合类主要由两个接口派生而出: Collection和Map, Collection和Map是Java 集合框架的根接口,这两个接口又包含了一些子接口或实现类。如下所示是 Java集合 简单结构图

集合的作用:

在类的内部,对数据进行组织;

简单而快速的搜索大数量的条目;

有的集合接口,提供了一系列排列有序的元素,并且可以在序列中快速的插入或者删除有关元素

有的集合接口,提供了映射关系,可以通过关键字key去快速查找对应的唯一对象,而这个关键字可以是任意类型

1.List:元素是有序的,元素可以重复.因为改集合体系有索引.

ArrayList:底层的数据结构使用的是数组结构 ,特点:查询速度快,但是增删慢.线程不同步

LinkedList:底层使用的是;链表数据结构,特点:增删速度快,查寻速度慢.

Vector:底层的数据结构使用的是数组结构 ,.线程同步,速度慢,被ArrayList替代l

list:特有方法,凡是可以操作角标的方法都是该体系特有的方法

1.1list

public class ListDemo {

     public static void main(String[] args) {

         List<String> list = new ArrayList<>();

//添加

//索引,从0算起,0对1,1对2,2对3,3对4,4对5

        list.add(1);//0 

        list.add(2);//1

        list.add(3);//2

        list.add(4);//3

        list.add(5);//4

        list.add(6);

        list.add(2);

        list.add(2);

        System.out.println(list);//println换行

        list.add(4,7);

        System.out.println(list);

//索引,从0算起,0对1,1对2,2对3,3对4,4对5

        //修改

        list.set(4,8);

        System.out.println(list);

 

        //移除元素

        list.remove(1);

        list.remove(Integer.valueOf(6));

        System.out.println(list);

        //System.out.println(list);

        List<Integer> list1= new ArrayList<>();

        list1.add(7);

        list1.add(8);

        list1.add(9);

        list.addAll(list1);//添加多个

        System.out.println(list);

        //list.removeAll(list1);//移除多个

        //System.out.println(list);

System.out.println(list);

        //System.out.println(list);

        List<Integer> list1= new ArrayList<>();

        list1.add(7);

        list1.add(8);

        list1.add(9);

        list.addAll(list1);//添加多个

        System.out.println(list);

        //list.removeAll(list1);//移除多个

        //System.out.println(list);

       

        //遍历(也就是循环)

        //size()返回List中元素的个数

        //get(int index)根据索引获取元素

        for (int i = 0; i < list.size(); i++) {

                          System.out.print(list.get(i)+"\t");

                  }

        System.out.println();

       

        //2

        for (Integer integer : list) {

                          System.out.print(integer+"\t");

                  }

        System.out.println();

       

        //迭代器

        Iterator<Integer> iterator=list.iterator();

        while (iterator.hasNext()){

                int inta = iterator.next();

                System.out.print(inta+"\t");//制表符

        }

        System.out.println();

       

        for (Iterator<Integer> iterator2 = list.iterator(); iterator2.hasNext();) {

                          int inta = iterator2.next();

                          System.out.print(inta+"\t");

                  }

        System.out.println();

       

        //查找相关的办法

        System.out.println(list.indexOf(2));//没有的就是 -1,,有的按索引来算输入9,看9的位置在哪,再索引算

        System.out.println(list.lastIndexOf(2));//正常计算

       

        System.out.println(list.contains(6));//查询列中有的值,为真true,,输入一个没有的值6,为false

                  System.out.println(list.containsAll(list1));//找一段

 

                  //截取子集合

                  List<Integer> list3=list.subList(1, 5);//[1,5)[闭  开)索引

                  System.out.println(list3);

                 

                  //判断是否为空集合

                                   System.out.println(list.isEmpty());//fales

                                  

                  //清空list

                                   list.clear();//清空

                                   System.out.println(list.isEmpty());//判断是否为空

                                   System.out.println(list);//[]空

    }

    }

添加元素

移除元素

迭代器遍

历循环

等等输出结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值