zoukankan      html  css  js  c++  java
  • Java学习笔记2-1

    2.对象容器(1)

      今天学习一下Java里面的一些容器的基本功能,今天先来Arraylist。

    一、Arraylist
      容器类主要是为了存放一些按某些方式排列的对象,arraylist是一种容器,相对数组那种静态分配存储空间,容器动态分配空间更为节省,而且通常容器内部有固定套路的方法来实现数据的插入、删除、修改等等操作,非常方便,而且效率通常很高。一般格式:
      容器类型<元素类型>(例如Arraylist<String>)
    1.创建(举例):

    ArrayList<String> k=new ArrayList<String>();
    

    2.添加元素:

        String s="ff";
        int index=1;
        k.add(s);
        k.add(index,s);//表示在第一个位置插入s,注意索引若为不存在的数会出错
    

    3.获取ArrayList中元素的个数

        int size=k.size();
    

    4.读取元素

        String s=new String();
        s=k.get(index);//读取相应位置的元素
    

    5.删除元素

        k.remove(index);
    

    6、判断是否已经存在某对象

        boolean p=k.contain(s);
    

     以设计一个记事本为例,其主要有以下几个功能:

    • 能存储记录
    • 不限制能存储的记录的数量
    • 能查看存进去的每一条记录
    • 能删除一条记录
    • 能列出所有的记录

     所以我们据此设计几个接口:
      1.Add(String s);   //添加记录
      2.Get(int index);  //查看某条记录
      3.Remove(int index); //删除某条记录
      4.list();       //列出所有记录
      5.getsize();     //查看记录数目

    public class Note {
    	private ArrayList<String> k=new ArrayList<String>();
    	public void add(String s)
    	{
    		k.add(s);
    	}
    	public String get(int index)
    	{
    		return k.get(index);
    	}
    	public void remove(int index)
    	{
    		k.remove(index);
    	}
    	public int getsize()
    	{
    		return k.size();
    	}
    	public String[] list()
    	{
    		String []s=new String[k.size()];
    		k.toArray(s);
    		return s;
    	}
    	
    	public static void main(String[] args) {
    		Note notes=new Note();
    		System.out.println("hello");
    		Scanner in=new Scanner(System.in);
    		int num=-2;
    		String[] temp;
    		String f=new String();
    		int no=1;
    		System.out.println(" 0:add list
     1:remove list 
     2:getsize
     3:print all list");
    
    		while(num!=-1)
    		{
    			num=in.nextInt();		
    			in.nextLine();			//caution!!
    			
    			switch (num)
    			{
    			case 0:
    				System.out.println("add what?? enter is over");
    				notes.add(in.nextLine());
    				break;
    			case 1:
    				System.out.println("remove what?? input the num");
    				notes.remove(in.nextInt());
    				break;
    			case 2:
    				System.out.println("the size of notes is:"+notes.getsize());
    				break;
    			case 3:
    				System.out.println("the list of notes is:");
    				temp=new String[notes.getsize()];
    				temp=notes.list();
    				for(String a:temp)			
    				{
    					System.out.println(no+"."+a);
    					no++;
    				}
    				break;
    			}
    			no=1;			
    		}
    		
    	}
    }
    

      比较简单,纯当练习练习,也没什么价值,大佬就不要看了。
      另外这段程序在连续使用nextInt()和nextLine()时,出了一点小问题,类似C语言,由于nextInt()好像不会读取你输入结束的回车键' ',这时不做处理的话,nextLine()就会把' '当作输入的字符读走,并认为输入结束。解决办法是类似在C语言中加入getchar()一样,之间插入一个nextLine(),就不会受到换行符的影响了。另外分享一个讲解nextInt(),nextLine()与next()区分的blog:https://www.bbsmax.com/A/kjdwb1L65N/

  • 相关阅读:
    蓝桥杯_基础_杨辉三角
    蓝桥杯_基础_数组特征
    蓝桥杯_基础_美丽的图形
    脉象
    词根汇总
    蓝桥杯 入门训练 Fibonacci数列 解析
    制作tomcat重启.bat文件
    day23(023-递归练习)
    day27(027-反射&JDK新特性)
    day25(025-多线程(下)&GUI)
  • 原文地址:https://www.cnblogs.com/wmzclever/p/12619965.html
Copyright © 2011-2022 走看看