最近在專案中遇到個匯出問題,excel格式表頭固定,迴圈這個list的時候要求去根據表頭的順序來寫入資料,雖然後頭需求變了,導致沒用到,但還是記錄下:
public static void main(string args) ;
random random = new random();
/*** 建立10條測試資料
*/for (int i = 0; i <10 ; i++)
list.foreach(ss-> catch (illegalacces***ception e) }}
}});
}
當初在找這個解決辦法時,我朋友大神把他專案中類似這樣的乙個功能演算法給了我
大概意思是這樣的
[ a, b, c ]
[ b => 1, c => 2, a => 3 ]
需要得到 [3, 1, 2] 這樣的結構
/**
* 獲取第乙個匹配的元素
* @param collection
* list《實體》
* @param target
* 要匹配的值
* @param function
* 規則怎麼從元素中獲取參與匹配的值
* @param * @param * @return
*/public static optionalgetfirstmatch(@nonnull collectioncollection,r target,@nonnull functionfunction)else if(target.equals(value))
}return optional.empty();
}
我就覺得這樣對我沒用,但是可能以後對我有用我就手寫下來了
獲取全部匹配:
/**
* 獲取全部匹配的元素
* @param collection
* @param target
* @param function
* @param * @param * @return
*/public static listgetallmatch(@nonnull collectioncollection,r target,@nonnull functionfunction)else
}).collect(collectors.tolist());
}
檢查是不是有元素匹配這樣的條件:
/**
* 檢查元素
* @param collection
* @param target
* @param function
* @param * @param * @return
*/public static boolean contains (@nonnull collectioncollection,r target,@nonnull functionfunction)else if(target.equals(value))
}return false;
}
實現上面例子:
public static void main(string args)
感覺以後可能用得上,特此記錄下,感謝邱大神提供的演算法,哈哈哈
他的部落格,有興趣可以去看下
List與陣列實體的轉換
1.list轉換成為陣列。這裡的list是實體是arraylist 呼叫arraylist的toarray方法。toarray public t toarray t a 返回乙個按照正確的順序包含此列表中所有元素的陣列 返回陣列的執行時型別就是指定陣列的執行時型別。如果列表能放入指定的陣列,則返回放...
List中根據class實體的某個屬性去重或排序
去重 根據alarmentity.class的乙個屬性sourceproblem去重,並保留最新 alarms是按照時間順序儲存的 private static listremoveduplicatealarms listalarms 為了保留最新,所以list需要使用reverse從後往前讀取 c...
List《實體類》根據多個欄位去重
現在有乙個實體類person,屬性有三個,分別是name,age,address,根據這三個屬性將list中三個欄位都相同的資料進行去重。建立list,新增資料 listlist new arraylist list.add new person tom 15,america list.add ne...