List集合的一些操作

来源:互联网 发布:windows 组播编程 编辑:程序博客网 时间:2024/06/13 04:12


/*
 *  ArrayList支持泛型 
 *  如果只遍历查询用for-each
 *  如果需要删除元素最好用迭代器,也可用for循环
 *  如果要修改 只能用for循环
 */


import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;




public class ArrayListDemo1 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();  //菱形语法 类型推断  
    //    ArrayList<String> list = new ArrayList<String>();
    //    List <String> list1 = new ArrayList<>();     //向上转型
        
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add(1, "sss");          //把"sss"放到第1位上  (索引值:0 1 2 3)
        
        System.out.println("集合中的元素个数为:" + list.size());
        System.out.println("集合中的元素为:" + list);
        System.out.println("集合中的元素为:" + list.get(0) + " " + list.get(1) + " " + list.get(2) + " " + list.get(3) );
        System.out.println(list.get(0));
        System.out.println(list.get(1));
        System.out.println(list.get(2));
        System.out.println(list.get(3));
        
        System.out.println("-------------------for-each---------------------");
        
        //遍历集合当中的元素(3种方法)
        //for-each遍历 只能遍历,不能修改   element:元素
      /*  for (String element : list) {
            //System.out.println(element);
            System.out.print(element + " ");
        }*/
        printList(list);
        System.out.println("\n--------------------for循环----------------------");
        
        //for循环遍历
        for(int i=0;i<list.size();i++){
            //System.out.print(list.get(i) + " ");
            
            //删除
            //list.remove(list.get(0));      //删除了"aaa"和"bbb"
            //list.remove("aaa");
             if(list.get(i).equals("aaa")){
                list.remove(i);
                
            }
            System.out.print(list.get(i) + " ");
            
            
            //修改
            if(list.get(i).equals("bbb")){
                list.set(i, "mmm");
            }
           // System.out.print(list.get(i) + " ");
        }
        System.out.println("\n--------------------迭代器----------------------");
        
        //迭代器Iterator
        Iterator<String> it = list.iterator();   //生成一个list迭代器
        while(it.hasNext()){
            String name = it.next();             //先把游标移向下一个元素,然后再提取游标所指向的元素
            //System.out.print(name + " ");
            
            //删除
            if(name.equals("mmm")){
                it.remove();            //删除当前游标所指向的元素                
            }
            
        }
        
       /* for (String element : list) {
            System.out.print(element + " ");
        }*/
        printList(list);
        
        System.out.println("\n--------------------清空整个数组---------------------");
        
        list.clear();
        
        System.out.println("清空后集合中的元素个数为:" + list.size());
        //System.out.println("清空后集合中的元素为:" + list);
       
       /*if (list.isEmpty()) {                //是否为空list.isEmpty
            System.out.println("该集合中占时还没有元素");
        } else {
            for (String element : list) {
                System.out.println(element + " ");
            }
        }*/
        printList(list);
    }
    
    //单独的一个参数 作用:打印输出list
    public static void  printList(List<String> list){
        if(list.isEmpty()){
            System.out.println("该集合中暂时还没有元素!");
        }else{
            for(String element : list){
                System.out.print(element + " ");                
            }
        }
    }
}



运行结果:

集合中的元素个数为:4
集合中的元素为:[aaa, sss, bbb, ccc]
集合中的元素为:aaa sss bbb ccc
aaa
sss
bbb
ccc
-------------------for-each---------------------
aaa sss bbb ccc 
--------------------for循环----------------------
sss bbb ccc 
--------------------迭代器----------------------
sss ccc 
--------------------清空整个数组---------------------
清空后集合中的元素个数为:0
该集合中暂时还没有元素!



0 0