使用内部类开发一个存放数据的容器

案例介绍:开发一个容器用来存放键值对,键存放英文名字,值存放中文名字,对键值对使用内部类来进行封装;

案例设计:

①   使用静态内部类封装键值对数据;

②   容器默认大小为5,超过就扩容其2倍;

③   通过调用entryArrays方法返回容器中的数据;

 1 import java.util.Arrays;
 2 public class EntryDemo{
 3     public static void main(String []args){
 4         MyContainer container=new MyContainer();
 5         container.put("jack","杰克");
 6         container.put("jay","周杰伦");
 7         container.put("john","约翰");
 8         container.put("rose","罗斯");
 9         container.put("jack","张三");
10
11         MyContainer.Entry[] entrys=container.entryArrays();
12         for(int i=0;i<entrys.length;i++){
13             MyContainer.Entry entry=entrys[i];
14             System.out.println(entry.getKey()+"--"+entry.getValue());
15         }
16     }
17 }
18
19 class MyContainer{
20     //存放entry对象的数组,默认大小为5
21     private Entry[] entrys=new Entry[5];
22     private int count=0;
23
24     //对外提供一个接口向容器中存放封装好的数据
25     public void put(String key,String value){
26         Entry entry=new Entry();
27         entry.setKey(key);
28         entry.setValue(value);
29         entrys[count++]=entry;//存放entry对象到数组中
30         //数组的扩容
31         if(count>=entrys.length){
32             //扩容后的新数组大小
33             int newCapacity=entrys.length*2;
34             //把老数组中的数据复制到长度为newCapacity的新数组中
35             entrys=Arrays.copyOf(entrys,newCapacity);
36         }
37     }
38
39     //把容器中的有数据的内容返回
40     public Entry[] entryArrays(){
41         return Arrays.copyOfRange(entrys,0,count);
42     }
43
44     //把键值对封装在Entry对象中
45     public static class Entry{
46         private String key;
47         private String value;
48         public void setKey(String key){
49             this.key=key;
50         }
51         public String getKey(){
52             return key;
53         }
54         public void setValue(String value){
55             this.value=value;
56         }
57         public String getValue(){
58             return value;
59         }
60     }
61 }
时间: 2024-10-04 08:48:54

使用内部类开发一个存放数据的容器的相关文章

Bag标签之把字符串分割成数组,返回一个存放数组数据的书包(Bag)

把字符串分割成数组,返回一个存放数组数据的书包(Bag): 操作 <Bag id=test act=splitgap="/">a/b/c/d</Bag> 把字符串a/b/c/d数组,返回书包test,按关键字test0.test1.test2...取出分割后的值 输出分割后的值 <for end=0 [email protected]{test:getWidth}> <b>@{test:[email protected]{for:getS

58 容器使用案例:一个表格数据的存储

容器,就是用来存放数据的,本文将使用两个容器俩储存一个表格数据. 使用的容器可以是任何容器,选择合适的,能满足需求即可. 本案例使用的容器是:列:使用Map 行:使用List 目标表格展示: 代码实现: 提到一个词:ORM 对象关系映射 package _20191213; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import j

13 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件  queue队列 生产者消费者模型 Queue队列 开发一个线程池

本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queue队列 开发一个线程池 进程 语法 进程间通讯 进程池 操作系统发展史 手工操作(无操作系统) 1946年第一台计算机诞生--20世纪50年代中期,还未出现操作系统,计算机工作采用手工操作方式. 手工操作程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把

用python+django+twistd 开发一个属于自己的运维系统

开源的运维系统不少,比如nagios.zabbix.cati等等,但是遇到自己个性化的运维需求的时候,总是显的力不从心!最近在学习python,所以就考虑用python+django+twisted来定做一个完全个性化的运维系统. 运维系统有几个主要的功能:监控.分析.报警.更甚者直接根据分析的结果进行反应操作.而以上几点通过上述的框架可以比较容易的实现. 下面上图说明: 使用freemind整理了下思路: 下面是一些代码段,完整的代码下载见文档底部: Server: #!/usr/bin/en

【如何快速的开发一个完整的iOS直播app】(原理篇)

一.个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的. 直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程. 二.了解直播 热门直播产品 映客,斗鱼,熊猫,虎牙,花椒等等 直播效果图 直播效果.jpeg 1.一个完整直播ap

HBase概念学习(八)开发一个类twitter系统之表设计

这边文章先将可能的需求分析一下,设计出HBase表,下一步再开始编写客户端代码. TwiBase系统 1.背景 为了加深HBase基本概念的学习,参考HBase实战这本书实际动手做了这个例子. 2.需求 这是一个用户推特系统,用户登陆到系统,需要维护用户的基本信息,然后用户可以发帖和其他用户进行互动.用户之间可以相互关注,用户可以浏览关注用户的推文等等. 这是一个比较简单的推特系统,不考虑用户之间的私信,用户评论推特等功能. 3.概要设计 3.1表设计 首先需要设计三个表:用户表,推特表以及用户

10、Cocos2dx 3.0游戏开发找小三之容器篇:Vector、Map、Value

重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27705613 容器 3.0版本之前Cocos2d-x 引擎为我们提供了 CCArray. CCDictionary 等 Objective-C 风格的容器: 使用 Cocos2d-x 容器的一个重要原因在于 Cocos2d-x 的内存管理. 一般来说,被存入容器的对象在移除之前都应该保证是有效的, 但值得注意的是,在v3.0 beta版本中加入了数据结

快速开发一个PHP电影爬虫

今天来做一个PHP电影小爬虫.我们来利用simple_html_dom的采集数据实例,这是一个PHP的库,上手很容易.simple_html_dom 可以很好的帮助我们利用php解析html文档.通过这个php封装类可以很方便的解析html文档,对其中的html元素进行操作 (PHP5+以上版本)下载地址:https://github.com/samacs/simple_html_dom下面我们以 http://www.paopaotv.com 上的列表页 http://paopaotv.com

如何快速的开发一个完整的iOS直播app(原理篇)

前言 大半年没写博客了,但我一直关注着互联网的动向,最近会研究很多东西,并分享,今年移动直播行业的兴起,诞生了一大批网红,甚至明星也开始直播了,因此不得不跟上时代的步伐,由于第一次接触的原因,因此花了很多时间了解直播,整理了直播的原理,当前只是原理篇,后续会持续发布实战篇,教你从零开始搭建一个完整的iOS直播app,希望能帮助到更多的人更快的了解直播. 一.个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频