在本实例中,定义了一个int类型的集合类。实现了比较常用的增加数据,删除数据,排序等的具体操作。
先上图:
贴上代码如下;
package HomeWork;
import java.util.Arrays;
/**
* 定义一个可以存储Int类的集合类,使用一维数组存储数据。该集合具有的方法如下:
* 1、新增一个值(直接增加到最后面)
* 2、在指定位置增加一个值
* 3、按位置删除
* 4、按值删除
* 5、排序(此处我用到的是冒泡,当然还是可以采用Arrays.Sort()方法的)
* @author Dimple
*
*/
public class HomeWork2 {
public static void main(String[] args) {
int a[] = { 1,5,4,6,8,3,4,0 };
IntUtil test = new IntUtil(a);
// test.addElement(5);
// test.addElementAtIndexOf(9, 3);
// test.deleteElementAtIndexOf(3);
// test.deleteElement(3);
// test.arraySortUp();
// test.arraySortDown();
}
}
// Int类型的集合类
class IntUtil {
int array[];
public IntUtil(int a[]) {
super();
array = a;
}
public void arraySortDown() {
// TODO Auto-generated method stub
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] < array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
show();
}
public void arraySortUp() {
// TODO Auto-generated method stub
for (int i = 0; i < array.length; i++) {
for (int j = i + 1; j < array.length; j++) {
if (array[i] > array[j]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
show();
}
void addElement(int a) {
int[] newArray = new int[array.length + 1];
for (int i = 0; i < array.length; i++) {
newArray[i] = array[i];
}
newArray[array.length] = a;
array = newArray;
show();
}
void addElementAtIndexOf(int a, int index) {
index=index-1;
int[] newArray = new int[array.length + 1];
for (int i = 0; i < index; i++) {
newArray[i] = array[i];
}
newArray[index] = a;
for (int i = index + 1; i < array.length; i++) {
newArray[i] = array[i - 1];
}
newArray[array.length] = array[array.length - 1];
array = newArray;
show();
}
void deleteElementAtIndexOf(int index) {
int[] newArray = new int[array.length - 1];
for (int i = 0; i < index - 1; i++) {
newArray[i] = array[i];
}
for (int i = index; i < array.length; i++) {
newArray[i - 1] = array[i];
}
array = newArray;
show();
}
void deleteElement(int a) {
for (int i = 0; i < array.length; i++) {
if (a == array[i]) {
deleteElementAtIndexOf(i + 1);
}
}
}
int elementAt(int a) {
return 0;
}
void show() {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
总结:代码也只是实现了功能,并没有做深度的优化,比如判断下传过来的index是否合法。