簡體   English   中英

如何互換清單 <List<String> &gt;數組值在Java中使用索引?

[英]How to interchange List<List<String>> array values using index in java?

我這樣擁有List<List<String>>數據,

List<List<String>> repdata = [
    ["1185","R","4t","G","06","L","GT","04309","2546","2015","CF FE","01H1","20","23840","FF20"],
    ["1186","R","5t","R","01","L","TP","00110","1854","2016","FE LL","06W3","01","19065","FB01"],
    ["1187","R","6t","H","06","L","TP","04333","1864","2015","CF FE SL","0209","FD22","19845",null],
    ["1188","R","7t","H","06","L","PR","04041","6951","2015","CC CT FE GN PC","0070","00","36590","LB00"],
    ["1189","R","8t","H","06","L","WS","04290","4450","2014","CF   EN   FE   PC   TP","0070","EA30","28320.00",null],
    ["1190","R","9t","H","06","L","LA","04915","4430","2015","CF DK FE RR TC","0040","10","23680","FB10"],
    ["1191","R","10t","H","06","L","LF","04335","2532","2015","CF FE GE","0040","FC10","22970",null],
    ["1192","R","11t","H","06","L","SA","04772","8345","2015","BZ C8 FE","01D6","13","33390","LC13"]]

我想比較和交換每個內部列表中的元素:特別是內部列表中第12和第14個索引處的值。

例如:在此內部列表數據中

[["1185","R","4t","G","06","L","GT","04309","2546","2015","CF FE","01H1","20","23840","FF20"]]

我想使用此邏輯比較“ 20”和“ FF20”並將其互換。

    If 14th index value != null then assign,

       12th index=14th index value.

    else if 14th index value ==null,

then leave 12th index=12th index value as it is.

並且必須對List<List<String>> repdata中的所有內部列表重復此操作。

所以,我的最終List>就是這樣,

List<List<String>> repdata = [
["1185","R","4t","G","06","L","GT","04309","2546","2015","CF FE","01H1","FF20","23840","FF20"],//interchange 12th with 14th as 14th !=null
["1186","R","5t","R","01","L","TP","00110","1854","2016","FE LL","06W3","FB01","19065","FB01"],//interchange 12th with 14th as 14th !=null
["1187","R","6t","H","06","L","TP","04333","1864","2015","CF FE SL","0209","FD22","19845",null],//leave 12th as IT IS as 14th ==null
["1188","R","7t","H","06","L","PR","04041","6951","2015","CC CT FE GN PC","0070","00","36590","LB00"],//interchange 12th with 14th as 14th !=null
["1189","R","8t","H","06","L","WS","04290","4450","2014","CF   EN   FE   PC   TP","0070","EA30","28320.00",null],//leave 12th as IT IS as 14th ==null
["1190","R","9t","H","06","L","LA","04915","4430","2015","CF DK FE RR TC","0040","10","23680","FB10"],//interchange 12th with 14th as 14th !=null
["1191","R","10t","H","06","L","LF","04335","2532","2015","CF FE GE","0040","FC10","22970",null],//leave 12th as IT IS as 14th ==null
["1192","R","11t","H","06","L","SA","04772","8345","2015","BZ C8 FE","01D6","13","33390","LC13"]]//interchange 12th with 14th as 14th !=null

我嘗試刪除第12個索引,然后在第12個索引處添加第14個索引值。

但是,我不斷得到並發修改異常。

誰能幫助我解決這個問題?

為了用第14個元素替換列表的第12個元素,您必須編寫如下代碼:

List<List<String>> listOfLists = ...;
for( List<String> list: listOfLists ){
    String el;
    if( list.size() > 14 &&              // list is long enough
        (el = list.get(14)) != null ){   // element is not null
        list.set( 12, el );              // replace element at index 12
    }  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM