Java基础__Java中自定义集合类
Java基础__Java中集合类 传送门
自定义MyArrayList集合实现:增加数据、取数据、查看集合中数据个数方法

package com.Gary;
public class MyArrayList {
private int[] dataArray = new int[100];
private int index = 0;
public void add(int data) {
dataArray[index] = data;
index++;
}
public int get(int index) {
if(index >=0 && index<=(this.index-1) )
{
return dataArray[index];
}else {
System.out.println("无数据");
return -1;
}
}
public int size() {
return index;
}
}
MyArrayList.java
package com.Gary;
public class Test {
public static void main(String[] args) {
MyArrayList list = new MyArrayList();
//添加数据
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
//输出数据
//System.out.println(list.get(1));
//System.out.println(list.get(10));
System.out.println(list.size());
for(int i=0;i<list.size();i++)
{
System.out.println("输出list中的数据:"+list.get(i));
}
}
}
Test.java
为了适应任意类型的数据,可以将我们自定义的集合类定义为泛型MyArrayList<T>

package com.Gary;
public class Test {
public static void main(String[] args) {
//MyArrayList<String> 字符类型
MyArrayList<Integer> list = new MyArrayList<Integer>();
list.add(1);
list.add(2);
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i));
}
}
}
Test.java
package com.Gary;
public class MyArrayList<T> {
private T[] dataArray = (T[]) new Object[100];
private int index = 0;
public void add(T data) {
dataArray[index] = data;
index++;
}
public T get(int index) {
if(index >=0 && index<=(this.index-1) )
{
return dataArray[index];
}else {
System.out.println("无数据");
return null;
}
}
public int size() {
return index;
}
}
MyArrayList.java
Java基础__Java中自定义集合类的更多相关文章
- Java基础__Java中集合类
ArrayList:有序.可重复.线程不安全.内部使用数组进行存储 LinkedList:有序.可重复.线程不安全.内部使用引用进行存储[可以很方便的进行插入.删除数据] Vector:有序.可重复. ...
- Java基础__Java中异常处理那些事
一.Exception 类的层次 所有的异常类是从 java.lang.Exception 类继承的子类. Exception 类是 Throwable 类的子类.除了Exception类外,Thro ...
- Java基础__Java中常用数学类Math那些事
测试 package Cynical_Gary; public class Cynical_Text { public static void main(String[] args){ System ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- Java基础(中)
面向对象基础 面向对象和面向过程的区别 两者的主要区别在于解决问题的方式不同: 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题. 面向对象会先抽象出对象,然后用对象执行方法的方式 ...
- 黑马程序员----java基础笔记中(毕向东)
<p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...
- Java基础语法(自定义类、ArrayList集合)
Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...
- 有关JAVA基础学习中的集合讨论
很高兴能在这里认识大家,我也是刚刚接触后端开发的学习者,相信很多朋友在学习中都会遇到很多头疼的问题,希望我们都能够把问题分享出来,把自己的学习思路整理出来,我们一起探讨一起成长. 今天我 ...
- Java基础六(自定义类、ArrayList集合)
今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...
随机推荐
- 微信小程使用getCurrentPages函数操作父级数据
微信小程使用getCurrentPages函数操作父级数据 let pages = getCurrentPages(); let prevPage = pages[pages.length - 2]; ...
- Python的global指令的作用
Python的global指令的作用 学过其他常用编程语言的同学一定清楚,Python是一个语法非常宽容的语言.它是个变量的定义可以省略.直接赋值.根据赋值结果自动确定变量类型的弱类型语言. 但是这样 ...
- 使ffmpeg支持HDR10bit 环境为ubuntu16.04
1. 编译X265,生成静态库, 安装到默认目录 修改CMakeLists.txt 使 HIGH_BIT_DEPTH 设置为ON cmake -G "Unix Makefiles&qu ...
- 【QT学习笔记】二、信号槽和自定义信号槽
1. 信号槽 int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Qui ...
- Python中import导入上一级目录模块及循环import问题的解决
转自:https://www.cnblogs.com/sjy18039225956/p/9265461.html 使用python进行程序编写时,经常会使用第三方模块包.这种包我们可以通过python ...
- 07 Redis存储Session
django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/ dango-redis 官方文档:http://n ...
- ASE19团队项目alpha阶段model组 scrum10 记录
本次会议于11月14日,19时整在微软北京西二号楼sky garden召开,持续5分钟. 与会人员:Jiyan He, Kun Yan, Lei Chai, Linfeng Qi, Xueqing W ...
- 【Java并发】并发队列与线程池
并发队列 阻塞队列与非阻塞队 ConcurrentLinkedQueue BlockingQueue ArrayBlockingQueue LinkedBlockingQueue PriorityBl ...
- 配置Linux内核
- LoadRunner(6)
一.脚本录制技术细节 1.选择合适的协议: 1)B/S架构:常用Web[HTTP/HTML]协议,如果项目中使用了其它技术,比如Ajax.JDBC.FTP等,就需要选择多协议: 2)C/S架构:常用W ...