• Java进阶学习(3)之对象容器(上)


    对象容器

    • 顺序容器
      • 记事本的例子
        • UI设计和业务逻辑要分离
        • 接口设计
          • add(String note);
          • getSize();
          • getNote(int index);
          • removeNote(index);
          • list();
      • 泛型容器类
        • 泛型类
        • ArrayList
        • 一种容器可以无限制的添加
        • 容器类
          • 容器的类型
            • ArrayList
          • 元素的类型
            • String
      • ArrayList的操作
        • add操作的位置不能脱离现有序列,例如现有序列为0、1,则位置可以为0、1、2,不能为3
      • 小练习
        •   
           1 package com.mieba.notebook;
           2 
           3 import java.util.ArrayList;
           4 
           5 public class NoteBook
           6 {
           7 
           8     private ArrayList<String> notes=new ArrayList<String>();
           9     
          10     public void add(String note)//增加记录
          11     {
          12         notes.add(note);
          13     }
          14     
          15     public void add(String note,int location)
          16     {
          17         notes.add(location, note);
          18     }
          19     public int getSize()//记录数
          20     {
          21         return notes.size();
          22     }
          23     
          24     public String getNote(int index)
          25     {
          26         return notes.get(index);
          27     }
          28     
          29     public void removeNote(int index)
          30     {
          31         notes.remove(index);
          32     }
          33     
          34     public String[] list()
          35     {
          36         String[] a=new String[notes.size()];
          37 //        for (int i = 0; i < notes.size(); i++)
          38 //        {
          39 //            a[i]=notes.get(i);
          40 //        }
          41         notes.toArray(a);
          42         return a;
          43     }
          44     
          45     
          46     
          47     public static void main(String[] args)
          48     {
          49         // TODO Auto-generated method stub
          50         NoteBook nb = new NoteBook();
          51         nb.add("first");
          52         nb.add("second");
          53         nb.add("third", 2);
          54         System.out.println(nb.getSize());
          55         System.out.println(nb.getNote(0));
          56         System.out.println(nb.getNote(1));
          57         System.out.println(nb.getNote(2));
          58         nb.removeNote(0);
          59         System.out.println("移除完毕");
          60         String[] a=nb.list();
          61         for (String s : a)
          62         {
          63             System.out.println(s);
          64         }
          65 
          66     }
          67 
          68 }
        •     运行结果
  • 相关阅读:
    概率-期望粗学
    2*2右脚相反矩阵构造 2019牛客暑期多校训练营(第八场)
    Codeforces Round #530 (Div. 2)F Cookies (树形dp+线段树)
    E. Arson In Berland Forest(思维,找二维阵列中的矩阵,二分)
    Codeforces Round #523 (Div. 2) Cdp
    凸包
    E
    G. Petya and Graph(经典项目与项目消耗问题)(网络流)
    Educational Codeforces Round 55 (Rated for Div. 2)E
    hdu 3501 Calculation 2 (欧拉函数的扩展)
  • 原文地址:https://www.cnblogs.com/quxiangjia/p/12245621.html
Copyright © 2020-2023  润新知