• List集合


    一、特点、特有方法

     

    1. import java.util.ArrayList;
    2. import java.util.List;
    3. public class ListTest1 {
    4. public static void main(String[] args) {
    5. //1.创建一个ArrayList集合对象(有序,可重复,有索引)
    6. List list=new ArrayList<> ();
    7. list.add ( "蜘蛛精" );
    8. list.add ( "至尊宝" );
    9. list.add ( "至尊宝" );
    10. list.add ( "牛夫人" );
    11. System.out.println (list);
    12. //2.public void add(int index ,E element) :在某个索引处插入元素
    13. list.add ( 2,"紫霞仙子" );
    14. System.out.println ( list );
    15. //3.public E remove(int index) 根据索引删除元素 返回被删除元素
    16. System.out.println ( list.remove ( 2 ) );
    17. System.out.println ( list );
    18. //4.public E get(int index):返回集合中制定位置的元素
    19. System.out.println ( list.get ( 3 ) );
    20. //5.public E set(int index,E element):修改索引位置处的元素,修改成功后,会返回原来的数据
    21. System.out.println ( list.set ( 3, "牛魔王" ) );
    22. System.out.println ( list );
    23. }
    24. }

    二、遍历方式(List家族通用)

    1. import java.util.ArrayList;
    2. import java.util.Iterator;
    3. import java.util.List;
    4. public class ListTest2 {
    5. public static void main(String[] args) {
    6. List list =new ArrayList<> ();
    7. list.add ( "糖宝宝" );
    8. list.add ( "王慧饭" );
    9. list.add ( "大宝贝" );
    10. //1.for 循环
    11. for (int i = 0; i < list.size (); i++) {
    12. String s = list.get ( i );
    13. System.out.println ( s );
    14. }
    15. //2.迭代器
    16. Iterator id = list.iterator ();
    17. while (id.hasNext ()){
    18. System.out.println ( id.next () );
    19. }
    20. //3.foreach
    21. for (String s : list) {
    22. System.out.println (s);
    23. }
    24. //4.lambda表达式
    25. list.forEach ( s -> System.out.println (s) );
    26. }
    27. }

    三、ArrayList集合的底层原理,适用场景

     四、LinkedList集合的底层原理(双链表)

    1.底层原理

    2.应用场景

    1.排队

     2.设计栈

    1. import java.util.LinkedList;
    2. public class ListTest3 {
    3. public static void main(String[] args) {
    4. //1.创建一个队列
    5. LinkedList queue=new LinkedList<> ();
    6. queue.addLast ( "第1号人" );
    7. queue.addLast ( "第2号人" );
    8. queue.addLast ( "第3号人" );
    9. queue.addLast ( "第4号人" );
    10. System.out.println ( queue );
    11. //出队操作
    12. System.out.println ( queue.removeFirst () );
    13. System.out.println ( queue.removeFirst () );
    14. System.out.println ( queue.removeFirst () );
    15. System.out.println ( queue );
    16. System.out.println ("------------------------------");
    17. //2.创建一个栈对象
    18. LinkedList stack=new LinkedList<> ();
    19. //压入子弹(入栈)push
    20. stack.addFirst ( "第1颗子弹" );
    21. stack.addFirst ( "第2颗子弹" );
    22. stack.addFirst ( "第3颗子弹" );
    23. stack.addFirst ( "第4颗子弹" );
    24. stack.push ( "第5课子弹" );//给addFirst换了个马甲
    25. System.out.println (stack);
    26. //发射子弹(出栈)pop
    27. System.out.println ( stack.removeFirst () );
    28. System.out.println ( stack.removeFirst () );
    29. System.out.println ( stack.removeFirst () );
    30. System.out.println ( stack.pop () );//给removeFirst换了个马甲
    31. System.out.println ( stack );
    32. }
    33. }

  • 相关阅读:
    python中的字节码对象初探
    初级网络工程师之从入门到入狱(二)
    Python是“真火”还是“虚火”?
    Kotlin 委托
    【QT】不使用QT6PDF模块,200行代码编写一个可编辑PDF的阅读器
    C++——入门详解(上)
    Java中的抽象类和接口
    软件测试面试题:智力题。
    为什么LTD独立站就是Web3.0网站!
    【进程间通信】进程间通信方式汇总
  • 原文地址:https://blog.csdn.net/m0_64703222/article/details/132907175