Java ArrayList动态数组

链表数组的定义

        //定义链表数组
        List<Integer> a = new ArrayList<>() ;

增添

	//定义链表数组
        List<Integer> a = new ArrayList<>() ;
        //定义普通int型数组
        int num[] = new int[10] ;
        //为普通数组赋值
        for(int i = 0 ; i < 10 ; i ++) num[i] = in.nextInt() ;
        //boolean add(Element e)//增加指定元素到链表尾部.
        for(int x : num){
            a.add(x) ;
        }

获取元素

        for(int i = 0 ; i < 10 ; i ++){
            System.out.print(a.get(i)+" ");
        }

获取数组

        //toArray()//获取一个数组,数组中所有元素是链表中的元素.(即将链表转换为一个数组)
        //获取到数组类型为Object
        //Integer->Object->int
        //String->Object->string
        Object[] b = a.toArray() ;
        int len = 0 ;
        len = b.length ;
        if(len != 0 ){
            for(Object x : b) System.out.print(x + " ") ;
        }
        else System.out.print("wdnmd");
        System.out.println() ;
        System.out.println("--------------") ;

包含

        //boolean contains(Object o)//如果链表包含指定元素,返回true.
        if(a.contains(5)){
            System.out.print("动态数组包含 5");
        }else{
            System.out.print("动态数组不包含 5");
        }
        System.out.println() ;
        System.out.println("--------------") ;

指定位置替换

        //set(int index, E element)//将链表中指定位置上的元素替换成新元素。
        //修改下标为5的位置的值为10
        a.set(5,10) ;
        for(int x:a){
            System.out.print(x + " ") ;
        }
        System.out.println() ;
        System.out.println("--------------") ;

获取长度

        System.out.println("动态数组长度为 : " + a.size()) ;
        System.out.println("--------------") ;

移除

        //remove(int index)//删除链表中指定位置的元素.
        for(int i = 0 ; i < a.size() ; i ++){
            if(a.get(i) == 10) a.remove(i) ;
        }
        for(int i = 0 ; i < a.size() ; i ++){
            System.out.print(a.get(i) + " ") ;
        }
        System.out.println() ;
        System.out.println("--------------") ;

查找

        //int indexOf(Object o)//返回元素在链表中第一次出现的位置,如果返回-1,表示链表中没有这个元素。
        System.out.println("元素2在链表中第一次出现的位置(索引)为: " + a.indexOf(2)) ;
        System.out.println("--------------") ;
        
        //int lastIndexOf(Object o)//返回元素在链表中最后一次出现的位置,如果返回-1,表示链表中没有这个元素。
        System.out.println("元素5在链表中最后一次出现的位置(索引)为: " + a.lastIndexOf(5)) ;
        System.out.println("--------------") ;

判空

        //boolean isEmpty()//返回true表示链表中没有任何元素.
        if(a.isEmpty()){
            System.out.println("链表为空");
        }else{
            System.out.println("链表不为空");
        }
        System.out.println("--------------") ;

清空

        //void clear()//从链表中删除所有元素.
        a.clear() ;
        if(a.isEmpty()){
            System.out.println("链表为空");
        }else{
            System.out.println("链表不为空");
        }
        System.out.println("--------------") ;

完整代码

import java.util.* ;
class Main{
    static int l , r , cnt ,n ;
    public static void main(String[] args){
        Scanner in = new Scanner(System.in) ;
        //定义链表数组
        List<Integer> a = new ArrayList<>() ;
        //定义普通int型数组
        int num[] = new int[10] ;
        //为普通数组赋值
        for(int i = 0 ; i < 10 ; i ++) num[i] = in.nextInt() ;
        //boolean add(Element e)//增加指定元素到链表尾部.
        for(int x : num){
            a.add(x) ;
        }
        //get(int index)//获取链表中指定位置处的元素.
        for(int i = 0 ; i < 10 ; i ++){
            System.out.print(a.get(i)+" ");
        }
        System.out.println() ;
        System.out.println("--------------") ;

        //toArray()//获取一个数组,数组中所有元素是链表中的元素.(即将链表转换为一个数组)
        //获取到数组类型为Object
        //Integer->Object->int
        //String->Object->string
        Object[] b = a.toArray() ;
        int len = 0 ;
        len = b.length ;
        if(len != 0 ){
            for(Object x : b) System.out.print(x + " ") ;
        }
        else System.out.print("wdnmd");
        System.out.println() ;
        System.out.println("--------------") ;
        
        //boolean contains(Object o)//如果链表包含指定元素,返回true.
        if(a.contains(5)){
            System.out.print("动态数组包含 5");
        }else{
            System.out.print("动态数组不包含 5");
        }
        System.out.println() ;
        System.out.println("--------------") ;
        
        //set(int index, E element)//将链表中指定位置上的元素替换成新元素。
        //修改下标为5的位置的值为10
        a.set(5,10) ;
        for(int x:a){
            System.out.print(x + " ") ;
        }
        System.out.println() ;
        System.out.println("--------------") ;
        
        //int size()//返回链表长度(链表包含元素的个数).
        System.out.println("动态数组长度为 : " + a.size()) ;
        System.out.println("--------------") ;
        
        //remove(int index)//删除链表中指定位置的元素.
        for(int i = 0 ; i < a.size() ; i ++){
            if(a.get(i) == 10) a.remove(i) ;
        }
        for(int i = 0 ; i < a.size() ; i ++){
            System.out.print(a.get(i) + " ") ;
        }
        System.out.println() ;
        System.out.println("--------------") ;
        
        //int indexOf(Object o)//返回元素在链表中第一次出现的位置,如果返回-1,表示链表中没有这个元素。
        System.out.println("元素2在链表中第一次出现的位置(索引)为: " + a.indexOf(2)) ;
        System.out.println("--------------") ;
        
        //int lastIndexOf(Object o)//返回元素在链表中最后一次出现的位置,如果返回-1,表示链表中没有这个元素。
        System.out.println("元素5在链表中最后一次出现的位置(索引)为: " + a.lastIndexOf(5)) ;
        System.out.println("--------------") ;
        
        //boolean isEmpty()//返回true表示链表中没有任何元素.
        if(a.isEmpty()){
            System.out.println("链表为空");
        }else{
            System.out.println("链表不为空");
        }
        System.out.println("--------------") ;
        
        //void clear()//从链表中删除所有元素.
        a.clear() ;
        if(a.isEmpty()){
            System.out.println("链表为空");
        }else{
            System.out.println("链表不为空");
        }
        System.out.println("--------------") ;

   }
}

posted @   ICE_棋  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示