1. 程式人生 > 其它 >Java 集合框架:ArrayList學習

Java 集合框架:ArrayList學習

Java ArrayList:

  • Java ArrayList:

    • ArrayList類是一個可以動態修改的陣列,與普通陣列的區別就是它是沒有固定大小的限制;

    • 我們可以新增或刪除元素;

    • ArrayList繼承了AbstractList,並實現了List介面;

       

  • ArrayList類:語法


    ArrayList<E> objectName=new ArrayList();
    //E是泛型資料型別,用於設定objectName的資料型別,只能為引用資料型別

     

  • ArrayList類:常用方法:

    • 新增:add():

      //新增元素:add()
      public class ListDemo02 {
         public static void main(String[] args) {


             ArrayList<String> arrStr=new ArrayList<>();
             arrStr.add("www");
             arrStr.add("baidu");
             arrStr.add("com");

             System.out.println(arrStr);//[www, baidu, com]

        }
      }
    • 刪除:remove( )


      public class ListDemo02 {
         public static void main(String[] args) {

             ArrayList<String> arrStr=new ArrayList<>();
             arrStr.add("www");
             arrStr.add("baidu");
             arrStr.add("com");
             //remove()
             arrStr.remove(1);//索引
             arrStr.remove("www");//元素值

             System.out.println(arrStr);//[com]

        }
      }
    • 修改:set( index, object)

      public class ListDemo02 {
         public static void main(String[] args) {

             ArrayList<String> arrStr=new ArrayList<>();
             arrStr.add("www");
             arrStr.add("baidu");
             arrStr.add("com");
             //set(index,object):
             arrStr.set(1,"google");

             System.out.println(arrStr);//[www, google, com]

        }
      }
    • 計算大小:size( )

      public class ListDemo02 {
         public static void main(String[] args) {

             ArrayList<String> arrStr=new ArrayList<>();
             arrStr.add("www");
             arrStr.add("baidu");
             arrStr.add("com");

             System.out.println(arrStr.size());//3

        }
      }

       

    • 遍歷:for() ; for-each(); Iterator迭代器

      public class ListDemo02 {
         public static void main(String[] args) {

             ArrayList<String> arrStr=new ArrayList<>();
             arrStr.add("www");
             arrStr.add("baidu");
             arrStr.add("com");

             //迭代1:for
             for(int i=0;i<arrStr.size();i++){
                 System.out.print(arrStr.get(i)+".");//www.baidu.com
            }

             System.out.println("-----------------");

             //迭代2:for-each
             for (String str:arrStr) {
                 System.out.print(str+",");//www,baidu,com,
            }

             //迭代3:
             Iterator iterator=arrStr.iterator();
             while (iterator.hasNext()){
                 System.out.println(iterator.next());
            }

        }
      }
    • 訪問元素:get()

      public class ListDemo02 {
         public static void main(String[] args) {

             ArrayList<String> arrStr=new ArrayList<>();
             arrStr.add("www");
             arrStr.add("baidu");
             arrStr.add("com");

             //get(int index):index為集合的索引,從0開始
             System.out.println(arrStr.get(1));//baidu

        }
      }

       

  • ArrayList排序:

    • Collections類也是一個非常有用的類,位於java.util包中,提供的sort()方法可以對字元或數字列表進行排序;

    • 程式碼案例:

      public class ListDemo03 {
         public static void main(String[] args) {

             //排序:字元,數字

             ArrayList<Integer> intArr=new ArrayList<Integer>();
             intArr.add(2);
             intArr.add(5);
             intArr.add(8);
             intArr.add(7);
             intArr.add(1);
             System.out.print(intArr);//[2, 5, 8, 7, 1]
             System.out.println("--------------------");
             //集合排序
             Collections.sort(intArr);
             //列印集合
             System.out.print(intArr);//[1, 2, 5, 7, 8]


        }
      }