java 无限制数组,java数组

1 package com.oracle.demo01;

2

3 public class MyArray {

4 //定义一个数组

5 private int [] intArray;

6 //定义数组的实际有效长度

7 private int elems;

8 //定义数组的最大长度

9 private int length;

10

11 //默认构造一个长度为50的数组

12 public MyArray(){

13 elems = 0;

14 length = 50;

15 intArray = new int[length];

16 }

17 //构造函数,初始化一个长度为length 的数组

18 public MyArray(int length){

19 elems = 0;

20 this.length = length;

21 intArray = new int[length];

22 }

23

24 //获取数组的有效长度

25 public int getSize(){

26 return elems;

27 }

28

29 /**

30 * 遍历显示元素

31 */

32 public void display(){

33 for(int i = 0 ; i < elems ; i++){

34 System.out.print(intArray[i]+" ");

35 }

36 System.out.println();

37 }

38

39 /**

40 * 添加元素

41 * @param value,假设操作人是不会添加重复元素的,如果有重复元素对于后面的操作都会有影响。

42 * @return添加成功返回true,添加的元素超过范围了返回false

43 */

44 public boolean add(int value){

45 if(elems == length){

46 return false;

47 }else{

48 intArray[elems] = value;

49 elems++;

50 }

51 return true;

52 }

53

54 /**

55 * 根据下标获取元素

56 * @param i

57 * @return查找下标值在数组下标有效范围内,返回下标所表示的元素

58 * 查找下标超出数组下标有效值,提示访问下标越界

59 */

60 public int get(int i){

61 if(i<0 || i>elems){

62 System.out.println("访问下标越界");

63 }

64 return intArray[i];

65 }

66 /**

67 * 查找元素

68 * @param searchValue

69 * @return查找的元素如果存在则返回下标值,如果不存在,返回 -1

70 */

71 public int find(int searchValue){

72 int i ;

73 for(i = 0 ; i < elems ;i++){

74 if(intArray[i] == searchValue){

75 break;

76 }

77 }

78 if(i == elems){

79 return -1;

80 }

81 return i;

82 }

83 /**

84 * 删除元素

85 * @param value

86 * @return如果要删除的值不存在,直接返回 false;否则返回true,删除成功

87 */

88 public boolean delete(int value){

89 int k = find(value);

90 if(k == -1){

91 return false;

92 }else{

93 if(k == elems-1){

94 elems--;

95 }else{

96 for(int i = k; i< elems-1 ; i++){

97 intArray[i] = intArray[i+1];

98

99 }

100 elems--;

101 }

102 return true;

103 }

104 }

105 /**

106 * 修改数据

107 * @param oldValue原值

108 * @param newValue新值

109 * @return修改成功返回true,修改失败返回false

110 */

111 public boolean modify(int oldValue,int newValue){

112 int i = find(oldValue);

113 if(i == -1){

114 System.out.println("需要修改的数据不存在");

115 return false;

116 }else{

117 intArray[i] = newValue;

118 return true;

119 }

120 }

121

122 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值