Java 数据结构之数组
public class Arrays {
//创建一个Integer空数组
public static Integer[] player=null;
//添加球员号码
private static int size=0;//初始化数组的元素个数
static StringBuffer sb=new StringBuffer();
public static void init(int initialCapacity){//初始容量为5的线性列表,用来存储数据
if(initialCapacity<0){
throw new IllegalArgumentException("容量不能为负数!");
}
player=new Integer[initialCapacity];
}
public static void add(Integer playNum){//为数组添加元素
//数组扩容
if(size==player.length){
Integer[] temp=java.util.Arrays.copyOf(player, player.length*2);
player=temp;
}
player[size]=playNum;
size++;
}
private static void replace(int indexNum,int setNum) {//根据输入的数据替换成新的数据
int index=getIndexNum(indexNum);//根据输入的数据查看索引位置
if(index>=0){
player[index]=setNum;
}
}
private static void indexReplace(int index, int newData) {//根据输入索引位置替换数据
if(index<0 || index>=size){
throw new IllegalArgumentException("超出索引位置!");
}
player[index]=newData;
}
private static int select(int index) {//根据索引位置查找对应的数据
if(index<0 || index>=size){
throw new IllegalArgumentException("超出索引位置!");
}
if(index>size-1){
return -1;
}
return player[index];
}
private static int getIndexNum(int indexNum) {//根据输入的数据查看索引位置
for (int index = 0; index <size; index++) {
if(player[index].equals(indexNum)){
return index;
}
}
return -1;
}
private static void delete(int index) {//删除指定索引位置的数据
if(index<0 || index>=size){
throw new IllegalArgumentException("超出索引位置!");
}
for (int i = index; i < size-1; i++) {
player[i]=player[i+1];
}
size--;
}
//打印数组
public static void print(){
if(player==null){
System.out.println("数组为空!");
return;
}
if(size==0){
System.out.println("[ ]");
return;
}
sb.append("[");
for (int index = 0; index < size; index++) {
sb.append(player[index]);
if(index!=size-1){
sb.append(",");
}else{
sb.append("]");
}
}
System.out.println(sb.toString());
}
public static void main(String[] args) {
init(5);
add(11);
add(22);
add(33);
add(44);
add(55);
add(66);
print();
// int data=select(4);
// System.out.println(data);
// int num=getIndexNum(33);//查找值为33的索引位置
// System.out.println(num);
//indexReplace(2,337);
//replace(22, 66);
//delete(3);
//print();
}
}

Java 数据结构之数组的更多相关文章
- JAVA数据结构--Array数组实现
所谓数组,是有序的元素序列. [1] 若将有限个类型相同的变量的集合命名,那么这个名称为数组名.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.用于区分数组的各个元素的数字编 ...
- JAVA数据结构之数组
接下来的几篇博文会在最近仔细研读数据结构与算法的书籍后会摘录一些要点和总结一些自己的心得体会,帮助大家更深入地理解java中的数据结构和一些基本的算法,同时巩固自己数据结构和算法这些最基础的计算机知识 ...
- Java数据结构和算法(二)——数组
上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要 ...
- Java数据结构和算法 - 数组
Q: 数组的创建? A: Java中有两种数据类型,基本类型和对象类型,在许多编程语言中(甚至面向对象语言C++),数组也是基本类型.但在Java中把数组当做对象来看.因此在创建数组时,必须使用new ...
- Java数据结构和算法(二):数组
上篇博客我们简单介绍了数据结构和算法的概念,对此模糊很正常,后面会慢慢通过具体的实例来介绍.本篇博客我们介绍数据结构的鼻祖——数组,可以说数组几乎能表示一切的数据结构,在每一门编程语言中,数组都是重要 ...
- 【学习总结】java数据结构和算法-第三章-稀疏数组和队列
相关链接 [学习总结]尚硅谷2019java数据结构和算法 github:javaDSA 目录 稀疏数组 队列 稀疏数组 稀疏数组介绍 图示 应用实例 代码实现 SparseArray.java:与二 ...
- 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解
数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解 对数组有不了解的可以先看看我的另一篇文章,那篇文章对数组有很多详细的解析,而本篇文章则着重讲动态数组,另一篇文章链接 ...
- Java数据结构和算法之数组与简单排序
一.数组于简单排序 数组 数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信 ...
- Java数据结构之队列的实现以及队列的应用之----简单生产者消费者应用
Java数据结构之---Queue队列 队列(简称作队,Queue)也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同,其差别是线性表允许在任意位置插入和删除,而队列只允许在 ...
随机推荐
- jquery 如何使用innerHTML
$("#responsediv") 是个Jquery对象,它Val()是对Value属性赋值对它无意义,Jquery没有innerHTML这个属性,应该这样写$("#re ...
- python 数据库查询结果转对象
#coding:utf-8 from json import dumps, loads, JSONEncoder, JSONDecoder import pickle from app.model.J ...
- LVS+Keepalived搭建
LVS+Keepalived搭建 原理说明 (推荐): http://www.cnblogs.com/likehua/archive/2014/06/19/3796849.html http://ou ...
- 【转】JMeter基础之——录制脚本
Jmeter 是一个非常流行的性能测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细:很它的优点也有很多: ● 开源,他是一款开源的免费软件,使用它你 ...
- 【转】Jmeter测试结果分析
Jmeter测试结果分析这一篇,我打算分成上下两部分.上篇,主要讲述如何使用jmeter中Assertion对结果进行简单的分类:下篇,主要讲述的是当我们拿到测试结果后,我们应该如何去看待这些测试结果 ...
- java代码,输入n多个数,求其平均值,虽有重复,但是第二次,我就乱写了
总结:对象调用方法,与在main 里直接输出没什么大的区别,少用方法, 乱搞++++ package com.c2; import java.util.Scanner; public class DD ...
- MyBatis collection的两种形式——MyBatis学习笔记之九
与association一样,collection元素也有两种形式,现介绍如下: 一.嵌套的resultMap 实际上以前的示例使用的就是这种方法,今天介绍它的另一种写法.还是以教师映射为例,修改映射 ...
- 腾讯云搭建php环境
1.安装搭建论坛必要的软件 apache php mysql CentOS系统我们可以直接使用 yum install 的方式进行软件安装,腾讯云有提供软件安装源,是同步CentOS官方的安装源, ...
- 在工作表左侧中添加TreeView控件
开发环境基于VSTO:visual studio 2010,VB .Net,excel 2007,文档级别的定制程序. 需求是在sheet的左侧停靠System.Windows.Forms.TreeV ...
- [置顶]
sscanf() - 从一个字符串中读进与指定格式相符的数据
在做一道九度上机题时,突然发现sscanf()函数非常有用,就顺便从网上搜集资料整理一下. sscanf() 的作用:从一个字符串中读进与指定格式相符的数据. 原型: int sscanf (cons ...