如何解决Java:如何从嵌套数组中删除字母
如何从Java的嵌套数组中删除字母?
嵌套数组:
ArrayList arrayList = new ArrayList(
Arrays.asList("H","e","l","o",new ArrayList(Arrays.asList( "w","t",new ArrayList(Arrays.asList( "l","m","n",null)),"c",l",true,"l")),3,5,"!","e") );
解决方法
您可以使用递归和instanceof
从嵌套数组中删除字母。
static void removeLeterNestedArrayTest() {
ArrayList arrayList = new ArrayList(
Arrays.asList("H","e","l","o",new ArrayList(Arrays.asList( "w","t",new ArrayList(Arrays.asList( "l","m","n",null)),"c",true,"l")),3,5,"!","e") );
displayArrayList (arrayList);
System.out.println();
removeLetterNestedArray(arrayList,"l");
displayArrayList (arrayList);
}
static void removeLetterNestedArray(ArrayList arrayList,String s) {
for (Object obj:arrayList) {
if (obj != null && obj instanceof ArrayList) {
removeLetterNestedArray((ArrayList) obj,s);
}
}
for (int i = 0; i < arrayList.size(); i++) {
if (arrayList.get(i) != null && arrayList.get(i).toString().equals(s))
{ arrayList.remove(i); i--; }
}
}
static void displayArrayList (ArrayList arrayList) {
for(Object obj: arrayList) {
if (obj != null) {
if (obj instanceof ArrayList)
displayArrayList((ArrayList)obj);
else System.out.print(obj.toString()); }
else System.out.print("null");
}
System.out.println();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。