我有一个arraylist。我想将一个特定元素放在第一个索引中,如果它存在于列表中。为此,我正在迭代列表,并检查。如果我在列表中找到元素A,比如在索引2处,我会将该元素添加到第一个索引。这样,元素将被添加,列表将向下移动。但是,问题是这将创建重复元素。
所以我的要求是将特定的列表元素放到第一个索引中。我怎样才能有效实现这一目标。
答案 0 :(得分:2)
交换列表中的两个元素:
public static void main( String[] args )
{
String elementToSwap = "2";
List<String> list = new ArrayList<String>();
list.add( "1" );
list.add( "2" );
list.add( "3" );
int index = list.indexOf( elementToSearch );
if ( index >= 0 ) {
String temp = list.get( 0 );
list.set( 0, elementToSearch );
list.set( index, temp );
}
System.out.println( list );
}
答案 1 :(得分:1)
为什么不交换价值?比方说,你正在寻找价值“2”。您在索引4中找到“2”...只是在索引4处交换值,索引0处的值(第一个条目)。您将在第一个插槽中使用“2”而不添加任何重复项。
答案 2 :(得分:1)
public void shift(List list, int index){
list.add(0, list.remove(index))
}
这将删除给定index
处的元素并将其放在列表的开头。