利用ArrayList做一个简单的记事本

利用ArrayList做一个简单的记事本

利用ArrayList容器可以解决:利用数组可能会因为数组大小开的不够大溢出的问题。而利用容器,则可以不用担心会溢出的问题,因为ArrayList容器可以存放无限的东西,具体的简单应用如下代码所示:

package b.others;

import java.util.ArrayList;

public class Notebook {
    
    
    private ArrayList<String> notes = new ArrayList<String>();//建立ArrayList容器,里面存放字符串类型,可以不受限制大小;
    public void add(String s){
    
    //添加内容(字符串);
        notes.add(s);
    }

    public void add(String s,int location){
    
    //把字符串加到某个位置前面;
        notes.add(location,s);
    }

    public int getSize(){
    
    //计算容器现在的大小(长度)
        return notes.size();
    }

    public String getNode(int index){
    
    //取出对应位置上的内容;
        return notes.get(index);
    }

    public void removeNode(int index){
    
    //删除对应位置上的内容;
        notes.remove(index);
    }

    public String[] list(){
    
    //将容器内的数据,都赋值给字符串数组;
        String[] a =new String[notes.size()];
//        for (int i=0;i<notes.size();i++)
//        {
    
    
//            a[i]=notes.get(i);
//        }与下面这一行语句功能相同
        notes.toArray(a);//直接利用其自带函数将容器内的字符串赋给a字符串数组;
        return a;
    }

    public static void main(String[] args){
    
    
        Notebook nb=new Notebook();
        nb.add("first");//在容器内加入first;
        nb.add("second");//在容器内加入second;
        nb.add("third",1);//在容器标号为1的位置前插入third;
        System.out.println(nb.getSize());//输出容器的大小;
        System.out.println(nb.getNode(0));//输出第0号位置的内容;
        System.out.println(nb.getNode(1));//输出第1号位置的内容;
        //System.out.println(nb.getNode(10));//会造成下标越界,因为容器的第11个位置并没有内容;
        nb.removeNode(1);//删除位置1的内容;
        String[] b=nb.list();//将从容器中取出的内容给到字符串数组b;
        for (String s:b)//利用for-each语句输出字符串数组中所有的内容;
        {
    
    
            System.out.println(s);
        }
    }
}

输出为:

3
first
third
first
second

结尾

希望对大家有帮助!!!
有问题可在下面留言,谢谢…

猜你喜欢

转载自blog.csdn.net/weixin_53777651/article/details/122990773