回答
這裏是一個答案,如果你不想保持原來的列表
void testRemove() {
def list = [null, 30, null]
list.removeAll([null])
assertEquals 1, list.size()
assertEquals 30, list.get(0)
}
在一個方便的花花公子單元測試
+1爲最可讀的解決方案(讀取如:「刪除所有空值」) – 2010-07-19 21:40:19
該方法的findAll應該做你所需要的。
[null, 30, null].findAll {it != null}
+1對於不改變原始列表的 – 2010-07-19 21:38:44
'[null,30,null] .findAll {it}'將執行的解決方案。 – 2012-12-21 09:56:16
Thomas,findAll {it}將刪除0以及null。如果這就是你想要的,那麼你可能只是做一個findAll() – 2013-02-02 16:00:47
只需使用減:
[null, 30, null] - null
這看起來很簡單,很好,並幫助我 – 2014-09-21 07:59:58
+1最佳答案! – 2014-11-17 13:48:08
也可以使用[null,30,null] .minus(null)。這對我來說似乎更易讀。版本' - '提醒SBT操作員濫用。 – 2015-12-08 19:50:03
我想你會發現這是最短的,假設你不介意其他「假」值也消失:
println([null, 30, null].findAll())
公共類別的findAll()查找匹配IDENTITY 封閉的物品(即匹配Groovy的真相)。例如:
def items = [1,2,0,false,true,'','foo',[],[4,5],null] assert items.findAll()== [1, 2,真正的, '富',[4,5]
簡單[null].findAll{null != it}
如果it
爲null,則它,所以它不會在新的集合存在返回false。
'assertEquals [],[0,false,null] .findAll {it}' – 2014-11-26 11:55:46
你是對的,謝謝。 – 2014-11-26 13:43:49
這也可以通過grep實現:
assert [null, 30, null].grep() == [30]
或
assert [null, 30, null].grep {it} == [30]
或
assert [null, 30, null].grep { it != null } == [30]
另一種方式來做到這一點是[null, 20, null].findResults{it}
。
這確實一個到位去除所有的空項。
myList.removeAll { !it }
如果數字0是在你的域名,你可以覈對空
myList.removeAll { it == null }
[null, 30, null].grep()
回報[30]
http://docs.groovy-lang.org/latest/html/groovy-jdk/java/util/List.html (發現的grep)
這看起來像https://stackoverflow.com/a/27998063/487033的副本 – doelleri 2018-02-07 17:31:26
- 1. Python - 從列表中刪除空列表
- 2. 刪除列表框中的空白項
- 3. 從列表中刪除項目不從RecyclerView中刪除它們?
- 4. R:從列表中刪除空白
- 5. 從字典中刪除項目,其中值爲空列表
- 6. 用jquery刪除空列表項目
- 7. Android Firebase從列表中刪除項目
- 8. 從列表視圖中刪除項目
- 9. Python從列表中刪除項目
- 10. 從Python列表中刪除重複項
- 11. Sharepoint REST - 從列表中刪除項目
- 12. 從鏈接列表中刪除項目
- 13. 從Django列表中刪除重複項
- 14. 從列表C#中刪除項目#
- 15. 從列表中刪除項目
- 16. WPF從列表框中刪除項目
- 17. 從listview中刪除Sharepoint列表項?
- 18. 從weak_ptrs列表中刪除項目
- 19. 從下拉列表中刪除項目
- 20. 從數據庫中刪除列表項
- 21. 從列表中刪除項目c#
- 22. Python - 從列表中刪除項目
- 23. 從列表中刪除第一項?
- 24. python從列表項中刪除字符
- 25. 從Python列表中刪除重複項
- 26. 從列表框中刪除項目
- 27. 從C++列表中刪除重複項
- 28. 從列表中刪除選項卡
- 29. 從列表視圖中刪除項目
- 30. 從通用列表中刪除項目
搞笑的人問起最初的空位是如何進入名單的。似乎你可能正在解決症狀而不是問題。 – Snekse 2015-01-28 23:13:37