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中 ...
随机推荐
- SMTP实现发送邮箱2(封装版)
SMTP.h #ifndef __SMTP_H__ //避免重复包含 #define __SMTP_H__ #include <iostream> #include <list> ...
- USB设备描述符
/* USB Standard Device Descriptor */ const u8 Virtual_Com_Port_DeviceDescriptor[] = { 0x12, /* bLeng ...
- TPFanControl.ini
TPFanControl.ini 64位系统安装目录分为两种 64位用:C:\Program Files 32位用:C:\Program Files (x86) 64位系统系统目录分为两种 64位用: ...
- Js setTimeout 用法
setTimeout( ) 是属于 window 的 method, 但我们都是略去 window 这顶层物件名称, 这是用来设定一个时间, 时间到了, 就会执行一个指定的 method. setTi ...
- [转载]clip gradient抑制梯度爆炸
[转载]clip gradient抑制梯度爆炸 来源:https://blog.csdn.net/u010814042/article/details/76154391 1.梯度爆炸的影响 在一个只有 ...
- Arcgis js之web墨卡托(3857)转经纬度坐标(4326)
Arcgis js之web墨卡托(3857)转经纬度坐标(4326) 手动转化方法: function mercatorTolonlat(mercator){ var lonlat={x:0,y:0} ...
- js中数组方法及分类
数组的方法有很多,这里简单整理下常用的21种方法,并且根据它们的作用分了类,便于记忆和理解. 根据是否改变原数组,可以分为两大类,两大类又根据不同功能分为几个小类 一.操作使原数组改变 1.数组的 ...
- kafka启动失败错误:: replica.fetch.max.bytes should be equal or greater than message.max.bytes
1 详细异常 2019-10-14 14:38:21,260 FATAL kafka.Kafka$: java.lang.IllegalArgumentException: requirement f ...
- 2.03_Python网络爬虫Http和Https
一:HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法,以明文的形式传输,效率高,但是不安全 HTTPS ...
- java——jdbc调用存储过程
1,加载驱动: 2,获取连接 3,设置参数 4,执行: 5,释放连接 普通jdbc的执行过程: conn.prepareCall() 上面是一个调用存储过程的示例.