arraylist(增删改查)

xiaoxiao2021-02-28  91

1、什么是ArrayList  ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:  (1)动态的增加和减少元素  (2)实现了ICollection和IList接口  (3)灵活的设置数组的大小

2、ArrayLis的创建以及增删改查方法

(1)ArrayList的创建以及元素的添加ArrayList <变量名> = new ArrayList(); //()中也可传参。

注释:上面是创建一个空的ArrayList列表。当我们想往列表中传递元素的时候是通过.add()的方法来进行赋值的。看一下下面的案例。另外要想输出出列表中的元素的话要通过for循环遍历。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 public  class  test {      public  static  void  main(String[] args) {          ArrayList lis =  new  ArrayList();                    lis.add( "tony" );          lis.add( "tom" );          lis.add( "jack" );          lis.add( "mary" );          lis.add( "even" );                    for ( int  i= 0 ;i<lis.size();i++){              String result = (String)lis.get(i);              System.out.println(result);          }

 结果:输出结果如下。

tony tom jack mary even

(2)ArrayList中元素的删除

注释:变量名.remove(int Index); //通过.remove(int Index)方法来进行删除。这里直接传入要删除元素的下标即可。当然也可以直接传入值进行删除。如果你觉得用下边的方式比较麻烦那可以直接输入要删除项的值。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package  com.java.demo_9;   import  java.util.ArrayList;   public  class  Arraylist {      public  static  void  main(String[] args) {          ArrayList lis =  new  ArrayList();            lis.add( "tony" );          lis.add( "tom" );          lis.add( "jack" );          lis.add( "mary" );          lis.add( "even" );            System.out.println( "---------------------------------" );                    System.out.println( "<ArrayList原列表元素>:" );                    for  ( int  i =  0 ; i < lis.size(); i++) {              String result = (String) lis.get(i);              System.out.println(result);          }          System.out.println( "---------------------------------" );                    System.out.println( "<删除元素后的ArrayList列表>:" );                    lis.remove( 1 );                    for  ( int  i =  0 ; i < lis.size(); i++) {              String result = (String) lis.get(i);              System.out.println(result);          }          System.out.println( "---------------------------------" );      } }

结果:因为我指定的是lis.remove(1); index是从0开始起始的因此1代表第2个元素。因此删除的是tom这个元素。

<ArrayList原列表元素>: tony tom jack mary even ---------------------------------

<删除元素后的ArrayList列表>: tony jack mary even ---------------------------------

(3)ArrayList中元素的修改注释:ArrayList方法中有一个.set方法(变量.set(index, element);)。通过这个方法可以修改列表中的值。(index指定下标,element指定要修改后元素的值)。一起来看一下下面的示例。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 package  com.java.demo_9;   import  java.util.ArrayList;   public  class  Arraylist {      public  static  void  main(String[] args) {          ArrayList lis =  new  ArrayList();            lis.add( "tony" );          lis.add( "tom" );          lis.add( "jack" );          lis.add( "mary" );          lis.add( "even" );            System.out.println( "---------------------------------" );                    System.out.println( "<ArrayList原列表元素>:" );                    for  ( int  i =  0 ; i < lis.size(); i++) {              String result = (String) lis.get(i);              System.out.println(result);          }          System.out.println( "---------------------------------" );                    System.out.println( "<修改后的ArrayList列表>:" );                    //lis.remove("tom");          lis.set( 2 ,  "lucy" );                    for  ( int  i =  0 ; i < lis.size(); i++) {              String result = (String) lis.get(i);              System.out.println(result);          }          System.out.println( "---------------------------------" );      } }

 结果:通过下面的结果可以看出第3个下标中的值已经被改变了。本来是jack现在更改成了lucy。

<ArrayList原列表元素>: tony tom jack mary even ---------------------------------

<修改后的ArrayList列表>: tony tom lucy mary even ---------------------------------

(3)ArrayList中元素的查找

注释:.contains()是用来判断一个元素是否包含在另一个元素中的。所以这里是判断查找的元素是否包含在列表中。返回值方面我直接用的是打印的方法。也可以通过boolean,return的方式返回。

案例1:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import  java.util.ArrayList;   public  class  tes {      public  static  void  main(String[] args) {          ArrayList lis =  new  ArrayList();          lis.add( "tony" );          lis.add( "tom" );          lis.add( "jack" );          lis.add( "mary" );          lis.add( "even" );                    if (lis.contains( "vivian" )){              System.out.println( "包含此元素!" );          }          else {              System.out.println( "该元素不存在!" );          }      }   }

结果:返回结果参照代码。找到了就打印“包含此元素,没找到就显示元素不存在。

案例2:

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 package  com.java.demo_9;   import  java.util.ArrayList;   public  class  ArrLis {        public  static  void  main(String[] args) {          ArrayList list = new  ArrayList();                    list.add( "tony" );          list.add( "tom" );          list.add( "jack" );          list.add( "kevin" );                    for ( int  i= 0 ;i<list.size();i++){              String result =(String )list.get(i);              System.out.println(result);          }          System.out.println( "+++++++++++++++++++++++++++++++++++++" );                    ArrayList list1 =  new  ArrayList();          for ( int  i= 0 ;i<list.size();i++){              String res = (String)list.get(i);              if (list.contains( "kevin" )){                  list1.add( "kevin" );                  System.out.println(list1);                  break ;              } else {                  System.out.println( "没找到该元素!" );                  break ;              }          }      }   }

 

 

结果:因为列表中中包含"kevin"这个元素所以返回值为该元素。如果列表中没有该元素返回值为“没有找到该元素!”。

注意事项:我是重新设定了一个新空ArrayList(list1)。目的就是为了如果找到该值把这个值直接放到新的ArrayList中。另外if,else用了2次break。就是只要找到或者没找到就退出的意思。如果不这么写那么for循环每找一次结果就会打印一次,这显然是不必要的。

能够实现上例的方法很多,这里只介绍了ArrayList最基础的方法。仅供参考!

转载请注明原文地址: https://www.6miu.com/read-38886.html

最新回复(0)