这个问题在这里已经有答案了:
如何比较java中的字符串(23个答案)
一小时前关门了。
如何使用不同的方法删除数组中的字符串元素。有什么办法吗?我目前有这个,但它不工作,我的想法。
else if(operations ==2){
String searchStudentNumber = sc.next();
StudentAssistant[] copy = new StudentAssistant[studAssistant.length-1];
for(int i=0,j=0;i<studAssistant.length;i++){
if(copy[i]!= searchStudentNumber){
copy[j++] =
}
}
// for(int i = 0; i<sACounter; i++)
//// if(studAssistant[i].getStudentNumber().equals(searchStudentNumber)){
// if(studAssistant[i].equals(searchStudentNumber)){
//// studAssistant[i].searchStudentNumber(searchStudentNumber);
// studAssistant[i] = null;
// break;
// }
}
6条答案
按热度按时间mqxuamgl1#
仅使用数组,您可以创建一个或多个相同大小的数组,并在第二个数组上标记为removed或free\u novalue。(false)
输出
基本上所有的值都在原始数组中,但只显示标志为真的值
b4lqfgs42#
你应该使用
List
如果要删除元素,则改为。f8rj6qna3#
尝试使用下面的代码
oxiaedzo4#
在
Java
array
是不可变的,即初始化数组不能更改其大小。因此,要从数组中删除一个元素,必须使用size - 1
并将所有剩余项复制到它。作为替代,您可以使用
Apache ArrayUtils
:幸运的是,有
ArrayList
(与其他数据类型一起),它在内部执行所有这些操作:okxuctiv5#
需要使用数组吗?可以使用字符串列表。另一种可能的解决方案是获取数组并使用“arrays.aslist(yourray)”。这将返回一个列表。然后可以删除要删除的字符串,然后将其转换回数组。
ss2ws0br6#
您当然可以尝试使用apache中的arrayutils lib。
apachecommons的maven依赖关系将是