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中 ...
随机推荐
- nginx做为web容器部署静态资源以及做负载均衡反向代理实现
需求: 此时前台开发完成打包生成静态资源文件,要做到以下方面: 使用nginx部署静态资源,同时nginx要实现端口转发,隐藏真实后台地址,同时后台需要做一个负载均衡. localhost:7001 ...
- [JZOJ100026]图--倍增
[JZOJ100026]图--倍增 题目链接 太懒了,自行搜索 分析 裸倍增,不多说 \(fa[i][j]\)表示\(i\)跳\(2^j\)步走到的点 \(f[i][j]\)表示\(i\)跳\(2^j ...
- str.charAt()与str[]的区别
str.charAt():只能显示当前字符,没有则显示空. str[]:当索引超出当前字符长度时,则显示undefined.
- Redis笔记一
REmote DIctionary Server 是一个开源.内存存储的数据结构服务器,可以用作数据库来存储key-value数据,支持字符串,哈希表,列表,集合,位图,地理空间信息等数据类型,同时也 ...
- Xcode8警告⚠️ Empty paragraph passed to '@xxx' command
问题 Xcode8升级后,之前添加的注释会有很多警告 解决方法 基础知识,就是在编译选项中,添加警告屏蔽 解决步骤 显示警告信息 显示警告信息.png 查看警告类型 查看警告类型.png 屏蔽警告 W ...
- (二十三)ARM平台NEON指令的编译和优化
ARM平台NEON指令的编译和优化 本文介绍了ARM平台基于ARM v7-A架构的ARM Cortex-A系列处理器(Cortex-A5, Cortex-A7,Cortex-A8, Cortex-A9 ...
- Sourcetree 出现错误提示git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
具体表现为:sourcetree无法和gitlab远程仓库进行交互,但使用本地cmd,可以使用git命令和远程仓库交互通过各种账户.秘钥等操作,都无法解决该问题具体信息如下: 解决方式:点击 工具–& ...
- TF_Variable Sharing
Reference: http://jermmy.xyz/2017/08/25/2017-8-25-learn-tensorflow-shared-variables/ Tensorflow does ...
- 这个是自定义的代码块在xcode中的路径
~/Library/Developer/Xcode/UserData/CodeSnippets
- Ubuntu14版桌面突然卡住怎么办
参考:https://blog.csdn.net/hautxuhaihu/article/details/78924926 (1)ctrl+alt+f1...6进入命令行终端.用户名,密码登录. (2 ...