黑马程序员技术交流社区
标题:
关于数组 添加元素 有谁会吗? 急急!!!
[打印本页]
作者:
陈泽伟
时间:
2016-7-22 23:16
标题:
关于数组 添加元素 有谁会吗? 急急!!!
1、回想一下数组的缺点?
长度!!!只要声明一个数组,长度就固定了
采用封装思想对数组进行封装
/**
容器
*/
class Vector{
private int[] value = new int[10];
/**
向容器中添加数据
*/
public void add(int val){
//把val添加到value数组中,注意:我可以无限制调用add方法
}
/**
通过索引获取数据
*/
public int get(int index){
}
/**
判断val这个数据在不在容器中
*/
public boolean contains(int val){
}
public static void main(String[] args){
Vector v = new Vector();
v.add(1);
v.add(3);
...添加1000个数据
将容器中的数据全部打印出来
判断容器中是否包含345这个数据
}
}
作者:
陈泽伟
时间:
2016-7-22 23:17
只使用面向对象及之前的知识
作者:
1208124957
时间:
2016-7-23 00:36
数组固定了 就不能添加元素了吧
作者:
HeiMa2Wangkunpe
时间:
2016-7-23 00:39
判断容器中是否包含345这个数据,可以先对数组进行遍历,求出角标,如果没找到角标(返回-1),就表示没有345
作者:
cat73
时间:
2016-7-23 00:40
在 add 上实现自动扩容咯
作者:
xuexi1922622501
时间:
2016-7-23 00:46
class Vector{
private int[] value = new int[2];
private int count = 0;
/**
向容器中添加数据
*/
public void add(int val){
//把val添加到value数组中,注意:我可以无限制调用add方法
if(count<2){
value[count] = val;
count++;
}else{
int[] otherVal = new int[value.length+1];
//采用数组复制的方式
System.arraycopy(value, 0, otherVal, 0, value.length);
otherVal[value.length]=val;
value = otherVal;
}
}
/**
通过索引获取数据
*/
public int get(int index){
if(index>=value.length){
throw new ArrayIndexOutOfBoundsException("ArrayIndexOutOfBounds");
}else{
return value[index];
}
}
/**
判断val这个数据在不在容器中
*/
public boolean contains(int val){
for (int i = 0; i < value.length; i++) {
if(value[i]==val){
return true;
}
}
return false;
}
public static void main(String[] args){
Vector v = new Vector();
//...添加1000个数据
for (int i = 1; i <= 1000; i++) {
v.add(i);
}
//将容器中的数据全部打印出来
for (int i = 0; i < v.value.length; i++) {
System.out.println(v.value[i]);
}
//判断容器中是否包含345这个数据
boolean exist = v.contains(345);
if(exist){
System.out.println("存在");
}else{
System.out.println("不存在");
}
}
}
作者:
xuexi1922622501
时间:
2016-7-23 00:47
本帖最后由 xuexi1922622501 于 2016-7-23 00:50 编辑
楼主 我把9换成了2
作者:
迷茫不堪的年纪
时间:
2016-7-23 00:49
数组是固定的,想添加就用集合, 你这个只是这个类的一些简单方法而已,应该没有什么作用的
作者:
自娱自乐的朋朋
时间:
2016-7-23 01:16
既然你数组固定了还怎么往里加东西呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2