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中自定义集合类的更多相关文章

  1. Java基础__Java中集合类

    ArrayList:有序.可重复.线程不安全.内部使用数组进行存储 LinkedList:有序.可重复.线程不安全.内部使用引用进行存储[可以很方便的进行插入.删除数据] Vector:有序.可重复. ...

  2. Java基础__Java中异常处理那些事

    一.Exception 类的层次 所有的异常类是从 java.lang.Exception 类继承的子类. Exception 类是 Throwable 类的子类.除了Exception类外,Thro ...

  3. Java基础__Java中常用数学类Math那些事

     测试 package Cynical_Gary; public class Cynical_Text { public static void main(String[] args){ System ...

  4. Java基础学习中一些词语和语句的使用

    在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...

  5. Java基础(中)

    面向对象基础 面向对象和面向过程的区别 两者的主要区别在于解决问题的方式不同: 面向过程把解决问题的过程拆成一个个方法,通过一个个方法的执行解决问题. 面向对象会先抽象出对象,然后用对象执行方法的方式 ...

  6. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  7. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

  8. 有关JAVA基础学习中的集合讨论

        很高兴能在这里认识大家,我也是刚刚接触后端开发的学习者,相信很多朋友在学习中都会遇到很多头疼的问题,希望我们都能够把问题分享出来,把自己的学习思路整理出来,我们一起探讨一起成长.    今天我 ...

  9. Java基础六(自定义类、ArrayList集合)

    今日内容介绍1.自定义类型的定义及使用2.自定义类的内存图3.ArrayList集合的基本功能4.随机点名器案例及库存案例代码优化 ###01引用数据类型_类 * A: 数据类型 * a: java中 ...

随机推荐

  1. 微信小程使用getCurrentPages函数操作父级数据

    微信小程使用getCurrentPages函数操作父级数据 let pages = getCurrentPages(); let prevPage = pages[pages.length - 2]; ...

  2. Python的global指令的作用

    Python的global指令的作用 学过其他常用编程语言的同学一定清楚,Python是一个语法非常宽容的语言.它是个变量的定义可以省略.直接赋值.根据赋值结果自动确定变量类型的弱类型语言. 但是这样 ...

  3. 使ffmpeg支持HDR10bit 环境为ubuntu16.04

    1. 编译X265,生成静态库, 安装到默认目录 修改CMakeLists.txt 使   HIGH_BIT_DEPTH  设置为ON cmake -G "Unix Makefiles&qu ...

  4. 【QT学习笔记】二、信号槽和自定义信号槽

    1. 信号槽 int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("Qui ...

  5. Python中import导入上一级目录模块及循环import问题的解决

    转自:https://www.cnblogs.com/sjy18039225956/p/9265461.html 使用python进行程序编写时,经常会使用第三方模块包.这种包我们可以通过python ...

  6. 07 Redis存储Session

    django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/ dango-redis 官方文档:http://n ...

  7. ASE19团队项目alpha阶段model组 scrum10 记录

    本次会议于11月14日,19时整在微软北京西二号楼sky garden召开,持续5分钟. 与会人员:Jiyan He, Kun Yan, Lei Chai, Linfeng Qi, Xueqing W ...

  8. 【Java并发】并发队列与线程池

    并发队列 阻塞队列与非阻塞队 ConcurrentLinkedQueue BlockingQueue ArrayBlockingQueue LinkedBlockingQueue PriorityBl ...

  9. 配置Linux内核

  10. LoadRunner(6)

    一.脚本录制技术细节 1.选择合适的协议: 1)B/S架构:常用Web[HTTP/HTML]协议,如果项目中使用了其它技术,比如Ajax.JDBC.FTP等,就需要选择多协议: 2)C/S架构:常用W ...