-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCustomerList.java
More file actions
129 lines (122 loc) · 2.79 KB
/
Copy pathCustomerList.java
File metadata and controls
129 lines (122 loc) · 2.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
class CustomerList{
private Customer[] customerArray;
private int nextIndex;
private int initCapacity;
private double loadFact;
CustomerList(int initCapacity,double loadFact){
this.initCapacity=initCapacity;
this.loadFact=loadFact;
nextIndex = 0;
customerArray = new Customer[initCapacity];
}
private void extendArray(){
Customer[] tempArray = new Customer[customerArray.length+(int)(customerArray.length*loadFact)];
for (int i = 0; i < customerArray.length; i++){
tempArray[i]=customerArray[i];
}
customerArray=tempArray;
}
public boolean addFirst(Customer customer){
return add(0,customer);
}
public boolean addLast(Customer customer){
return add(nextIndex,customer);
}
public boolean add(Customer customer){
return addLast(customer);
}
public boolean add(int index,Customer customer){
if(index>=0 && index<=nextIndex){
if(nextIndex>=customerArray.length){
extendArray();
}
for (int i = nextIndex-1; i >= index; i--){
customerArray[i+1]=customerArray[i];
}
customerArray[index]=customer;
nextIndex++;
return true;
}
return false;
}
public boolean isEmpty(){
return nextIndex==0;
}
public int size(){
return nextIndex;
}
public int capacity(){
return customerArray.length;
}
public int indexOf(Customer customer){
for (int i = 0; i < nextIndex; i++){
if(customerArray[i]==customer){
return i;
}
}
return -1;
}
public int indexOfStr(String cusId){
for(int i = 0; i < nextIndex; i++){
String customer = customerArray[i].getCusId();
if(customer.equalsIgnoreCase(cusId)){
return i;
}
}
return -1;
}
public boolean search(Customer customer){
return indexOf(customer)!=-1;
}
public Customer get(int index){
if(index>=0 && index<nextIndex){
return customerArray[index];
}
return null;
}
public void removeFirst(){
remove(0);
}
public void removeLast(){
remove(nextIndex-1);
}
public boolean remove(int index){
if(index>=0 && index<=nextIndex){
for (int i = index; i < nextIndex-1; i++){
customerArray[i]=customerArray[i+1];
}
nextIndex--;
return true;
}
return false;
}
public boolean set(int index,Customer customer){
if(index>=0 && index<nextIndex){
customerArray[index]=customer;
return true;
}
return false;
}
public boolean set(Customer customer){
int index=indexOf(customer);
return set(index,customer);
}
public String toString(){
String list="[";
for (int i = 0; i < nextIndex; i++){
list+=customerArray[i]+", ";
}
return nextIndex==0 ? "[empty]":list+"\b\b]";
}
public void clear(){
customerArray=new Customer[initCapacity];
nextIndex=0;
}
public Customer[] toArray(){
Customer[] tempArray=new Customer[nextIndex];
for (int i = 0; i < nextIndex; i++) {
tempArray[i]=customerArray[i];
}
return tempArray;
}
}