Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我目前在Java中的课程是关于ArrayLists的,我很难理解这段代码:
本练习涉及从ArrayList删除项目块的问题。
这是输出:
如果有人可以帮忙解释一下该代码背后的处理过程?谢谢!
当
[“腐蚀”,“腐蚀”,“渗透”,“腐蚀”,“离子”,“上”,“ n”] => [“腐蚀”,
“ osion”,“ sion”,“ ion”,“ on”,“ n”]
第0个元素已删除。
然后当
[“ rosion”,“ osion”,“ sion”,“ ion”,“ on”,“ n”] => [“ rosion”,
“ sion”,“ ion”,“ on”,“ n”]
第一个元素已删除。
最后,当
[“ rosion”,“ sion”,“ ion”,“ on”,“ n”] => [“ rosion”,“ sion”,“ on”,
“ n”]
第二个元素已删除。
现在,如果您希望代码仅删除前三个元素,则可以执行以下操作:
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
5年前关闭。
我目前在Java中的课程是关于ArrayLists的,我很难理解这段代码:
本练习涉及从ArrayList删除项目块的问题。
public static void deleteBlock( ArrayList<String> strings, int n )
{
for ( int i = 0; i < n; i++ ) // the for loop for checking each index
{
if ( strings.size() > 0 ) // if statement to check whether or not the array's size is > 0
strings.remove( i ); // removes the index of the array at (i)
}
}
public static void main( String[] args )
{
String[] data = { "erosion", "rosion", "osion", "sion", "ion", "on", "n" }; //array being tested
ArrayList<String> dataList = new ArrayList<String>();
for ( int i = 0; i < data.length; i++ )
dataList.add( data[ i ] );
deleteBlock( dataList, 3 );
System.out.println( dataList ); // printing out the result
}
这是输出:
[rosion, sion, on, n]
如果有人可以帮忙解释一下该代码背后的处理过程?谢谢!
最佳答案
请注意以下代码(更好地调试!):
for ( int i = 0; i < n; i++ )
{
if ( strings.size() > 0 )
strings.remove( i );
}
当
i
= 0
时发生了什么:[“腐蚀”,“腐蚀”,“渗透”,“腐蚀”,“离子”,“上”,“ n”] => [“腐蚀”,
“ osion”,“ sion”,“ ion”,“ on”,“ n”]
第0个元素已删除。
然后当
i
= 1
时:[“ rosion”,“ osion”,“ sion”,“ ion”,“ on”,“ n”] => [“ rosion”,
“ sion”,“ ion”,“ on”,“ n”]
第一个元素已删除。
最后,当
i
= 2
时:[“ rosion”,“ sion”,“ ion”,“ on”,“ n”] => [“ rosion”,“ sion”,“ on”,
“ n”]
第二个元素已删除。
现在,如果您希望代码仅删除前三个元素,则可以执行以下操作:
for ( int i = 0; i < n; i++ )
{
if ( strings.size() > 0 )
strings.remove( 0 );
}
关于java - ArrayList执行的过程是什么? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27832840/
10-09 04:11