storing Objects
在上一个例子中,我们存储的对象是原始的数据类型 long
在本文中,我们使用自定义的类,以期更符合我们在现实世界中遇到的情况
首先,自定义一个类 Person
1
class Person
2
{
3
private string firstName;
4
private string lastName;
5
private int age;
6
7
public Person(string last, string first,int a)
8
{
9
lastName=last;
10
firstName=first;
11
age=a;
12
}
13
14
public void displayPerson()
15
{
16
System.out.print("Last name:"+lastName);
17
System.out.print(",First name:"+firstName);
18
System.out.print(",Age:"+age);
19
}
20
21
public String getLast();
22
{
23
return lastName;
24
}
25
}
class Person2
{3
private string firstName;4
private string lastName;5
private int age;6
7
public Person(string last, string first,int a)8
{9
lastName=last;10
firstName=first;11
age=a;12
}13
14
public void displayPerson()15
{16
System.out.print("Last name:"+lastName);17
System.out.print(",First name:"+firstName);18
System.out.print(",Age:"+age);19
}20
21
public String getLast();22
{23
return lastName;24
}25
}其次,定义 ClassDataArray类 (没有使用二分查找)
1
class ClassDataArray
2
{
3
private Person[] a;
4
private int nElems;
5
6
public ClassDataArray(int max)
7
{
8
a=new Person[max];
9
nElems=0;
10
}
11
12
public Person find(String searchName)
13
{
14
int j;
15
16
for(j=0;j<nElems;j++)
17
{
18
if(a[j].getLast().equals(searchName))
19
break;
20
21
}
22
if(j==nELems)
23
return null;
24
else
25
return a[j];
26
}
27
28
public void insert(String last,String first, int age)
29
{
30
a[nElems]=new Person(last, first,age);
31
nElems++;
32
}
33
34
public boolean delete(string searchName)
35
{
36
int j;
37
for(j=0;j<nElems;j++)
38
{
39
if(a[j].getLast().equasl(searchName))
40
break;
41
42
}
43
if(j==nElems)
44
return false;
45
else
46
{
47
for(int k=j;k<nElems;k++)
48
{
49
a[k]=a[k+1];
50
}
51
nElems--;
52
return true;
53
}
54
}
55
public void displayA()
56
{
57
for(int j=0;j<nElems;j++)
58
a[j].displayPerson();
59
}
60
}
class ClassDataArray2
{3
private Person[] a;4
private int nElems;5
6
public ClassDataArray(int max)7
{8
a=new Person[max];9
nElems=0;10
}11
12
public Person find(String searchName)13
{14
int j;15
16
for(j=0;j<nElems;j++)17
{18
if(a[j].getLast().equals(searchName))19
break;20
21
}22
if(j==nELems)23
return null;24
else25
return a[j];26
}27
28
public void insert(String last,String first, int age)29
{30
a[nElems]=new Person(last, first,age);31
nElems++;32
}33
34
public boolean delete(string searchName)35
{36
int j;37
for(j=0;j<nElems;j++)38
{39
if(a[j].getLast().equasl(searchName))40
break;41
42
}43
if(j==nElems)44
return false;45
else46
{47
for(int k=j;k<nElems;k++)48
{49
a[k]=a[k+1];50
}51
nElems--;52
return true;53
}54
}55
public void displayA()56
{57
for(int j=0;j<nElems;j++)58
a[j].displayPerson();59
}60
}


浙公网安备 33010602011771号