注意:以下是我的家庭作业/作业,如果你愿意,请不要回答。
我想从一个基本的字符串数组(集合)中删除/移除一个元素,我不允许使用Collections..etc。
现在我有了这个:
void remove(String newValue) {
for ( int i = 0; i < setElements.length; i++) {
if ( setElements[i] == newValue ) {
setElements[i] = "";
}
}
}
我做了我想做的事情,因为它从数组中删除了元素,但不会缩短长度。以下是输出,基本上它删除了索引为#1的元素。
D:\javaprojects>java SetsDemo
Enter string element to be added
A
You entered A
Set size is: 5
Member elements on index: 0 A
Member elements on index: 1 b
Member elements on index: 2 hello
Member elements on index: 3 world
Member elements on index: 4 six
Set size is: 5
Member elements on index: 0 A
Member elements on index: 1
Member elements on index: 2 hello
Member elements on index: 3 world
Member elements on index: 4 six
发布于 2010-05-06 09:02:47
基本上,您需要创建一个新数组,该数组的长度等于旧数组的长度减1,然后您需要在循环中将有效元素从旧数组复制到新数组,然后用新数组替换旧数组。
由于这是homework
,所以不提供详细信息。请随时发表评论,以获得更多澄清。
发布于 2010-05-06 09:06:04
void remove(String newValue) {
if(setElements.length == 0) return;
String [] array = new String[setElements.length-1];
int j = 0;
for ( int i = 0; i < setElements.length; i++) {
if ( setElements[i] != newValue ) {
array[j++] = setElements[i];
}
}
setElements = array;
}
https://stackoverflow.com/questions/2777762
复制相似问题