Arraylist中的移位元素

时间:2016-07-04 09:59:33

标签: java arraylist

我有一个arraylist。我想将一个特定元素放在第一个索引中,如果它存在于列表中。为此,我正在迭代列表,并检查。如果我在列表中找到元素A,比如在索引2处,我会将该元素添加到第一个索引。这样,元素将被添加,列表将向下移动。但是,问题是这将创建重复元素。

所以我的要求是将特定的列表元素放到第一个索引中。我怎样才能有效实现这一目标。

3 个答案:

答案 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处的元素并将其放在列表的开头。