ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Day05集合-List

2022-08-26 19:31:17  阅读:170  来源: 互联网

标签:index List 元素 list Day05 add remove 集合


List

List子接口

  • 特点:有序,有下标,元素可以重复
  • 方法:
    • void add(int index,Object o):在index位置插入元素o。
    • boolean addAll(int index,Collection c):将一个集合中的元素添加到此集合中的index位置。
    • Object get(int index):返回集合中指定index位置元素。
    • List subList(in fromIndex,int toIndex):返回集合中fromIndex到toIndex中的所有元素。

List接口使用1

/*
List子接口使用1
特点:有序,有下标,可重复
 */
public class listDemo01 {
    public static void main(String[] args) {
        //创建List集合对象
        //1.添加元素
        List list = new ArrayList<>();
        list.add("无籽西瓜");
        list.add("夏黑葡萄");
        list.add(0,"阳光玫瑰");
        System.out.println(list);

        //2.删除元素,清除元素
        list.remove("阳光玫瑰");
//       list.clear();

        //3.遍历集合元素
        //3.1for循环遍历
        System.out.println("-------3.1for循环遍历--------");
        for (int i = 0; i <list.size() ; i++) {
            System.out.println(list.get(i));
        }

        //3.2增强for
        System.out.println("-------3.2增强for--------");
        for (Object ob:list
             ) {
            System.out.println(ob);
        }

        //3.3iterator迭代器(继承Collection接口的方法)
        System.out.println("-------3.3iterator迭代器--------");
        Iterator it = list.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }

        //3.4使用列表迭代器ListIterator,可向前或向后遍历集合,含有增加,删除,修改方法
        System.out.println("-------3.4使用列表迭代器ListIterator--------");
        System.out.println("-------3.4.1从前向后遍历--------");
        ListIterator lit = list.listIterator();
        while (lit.hasNext()){
            //遍历完成,引用指向最后一个元素,可以向前开始遍历
            System.out.println(lit.nextIndex() + ":" + lit.next());
        }
        System.out.println("-------3.4.2从后向前遍历--------");
        while (lit.hasPrevious()){
            System.out.println(lit.previousIndex() + ":" + lit.previous());
        }

        //4.判断
        System.out.println(list.isEmpty());
        System.out.println(list.contains("无籽西瓜"));

        //5.获取
        System.out.println(list.indexOf("夏黑葡萄"));
    }
}

//输出结果:
[阳光玫瑰, 无籽西瓜, 夏黑葡萄]
-------3.1for循环遍历--------
无籽西瓜
夏黑葡萄
-------3.2增强for--------
无籽西瓜
夏黑葡萄
-------3.3iterator迭代器--------
无籽西瓜
夏黑葡萄
-------3.4使用列表迭代器ListIterator--------
-------3.4.1从前向后遍历--------
0:无籽西瓜
1:夏黑葡萄
-------3.4.2从后向前遍历--------
1:夏黑葡萄
0:无籽西瓜
false
true
1
/*
List接口使用2
 */
public class listDemo02 {
    public static void main(String[] args) {
        //创建List对象
        List list = new ArrayList();
        //1.添加数字数据(基本数据类型--->add时自动装箱)
        list.add(20);
        list.add(30);
        list.add(40);
        list.add(50);
        list.add(60);
        list.add(70);
        System.out.println(list);

        //2.删除,remove删除的是下标,删除基本数据类型时需要将其转换为引用数据类型
        list.remove(0);//下标
        list.remove((Integer)20);//转换
        list.remove(new Integer(70));
        System.out.println(list);

        //3.补充方法subList(截取元素,含头不含尾)
        List subList = list.subList(1,3);
        System.out.println(subList);
    }
}

//输出结果:
[20, 30, 40, 50, 60, 70]
[30, 40, 50, 60]
[40, 50]

List实现类

  • ArrayList:

    • 数组结构实现,查询快,增删慢
    • jdk1.2,运行效率快,线程不安全
  • LinkedList:

    • 链表结构实现,查询慢,增删快
  • Vector:

    • 数组结构实现,查询快,增删慢
    • jdk1.0,运行效率慢,线程安全

标签:index,List,元素,list,Day05,add,remove,集合
来源: https://www.cnblogs.com/workplace-blog/p/16628935.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有