Có một phương pháp Tiện ích ở đâu đó có thể làm điều này trong 1 dòng không? Tôi không thể tìm thấy nó ở bất cứ đâu trong Collections
hoặc List
.
public List<String> stringToOneElementList(String s) {
List<String> list = new ArrayList<String>();
list.add(s);
return list;
}
Tôi không muốn phát minh lại bánh xe trừ khi tôi định gắn những chiếc vành lạ mắt vào nó.
Vâng ... loại có thể được T
, và không String
. Nhưng bạn sẽ có được điểm. (với tất cả các kiểm tra vô hiệu, kiểm tra an toàn ... vv)
List
Cách đơn giản nhất, mà tôi biết, là để tạo ra một yếu tố kích thước cố định đơn List
với Arrays.asList(T...)
như
// Returns a List backed by a varargs T.
return Arrays.asList(s);
List
Nếu nó cần kích thước khác nhau, bạn có thể tạo một ArrayList
và kích thước cố định List
như
return new ArrayList<String>(Arrays.asList(s));
và (trong Java 7+), bạn có thể sử dụng toán tử kim cương<>
để làm cho nó
return new ArrayList<>(Arrays.asList(s));
Bộ sưu tập có thể trả về một danh sách có một phần tử duy nhất với danh sách là bất biến:
Collections.singletonList(s)
Lợi ích ở đây là phân tích mã IDEs không cảnh báo về các lệnh gọi asList (..) phần tử đơn lẻ.
Collections.singletonList(object)
danh sách được tạo bởi phương pháp này là không thay đổi.
Bạn có thể sử dụng phương pháp tiện ích Arrays.asList
và cấp dữ liệu kết quả đó thành một mới ArrayList
.
List<String> list = new ArrayList<String>(Arrays.asList(s));
Sự lựa chọn khác:
List<String> list = new ArrayList<String>(Collections.nCopies(1, s));
và
List<String> list = new ArrayList<String>(Collections.singletonList(s));
ArrayList(Collection)
constructor.Arrays.asList
phương pháp.Collections.nCopies
phương pháp.Collections.singletonList
phương pháp.Với Java 7+, bạn có thể sử dụng "toán tử kim cương", thay thế new ArrayList<String>(...)
bằng new ArrayList<>(...)
.
Java 9
Nếu bạn đang sử dụng Java 9+, bạn có thể sử dụng List.of
phương pháp :
List<String> list = new ArrayList<>(List.of(s));
Bất kể việc sử dụng từng tùy chọn ở trên là gì, bạn có thể chọn không sử dụng new ArrayList<>()
trình bao bọc nếu bạn không cần danh sách của mình có thể thay đổi.
Với Java 8 Streams:
Stream.of(object).collect(Collectors.toList())
hoặc nếu bạn cần một bộ:
Stream.of(object).collect(Collectors.toSet())
Tất cả các câu trả lời khác đều sử dụng Arrays.asList()
, nó trả về một danh sách không thể sửa đổi (an UnsupportedOperationException
được ném nếu bạn cố gắng thêm hoặc xóa một phần tử). Để có được danh sách có thể thay đổi, bạn có thể bọc danh sách trả về trong một danh sách mới ArrayList
như một số câu trả lời đã chỉ ra, nhưng giải pháp tốt hơn là sử dụng Guava's Lists.newArrayList () (có sẵn ít nhất là Guava 10 , phát hành vào năm 2011).
Ví dụ:
Lists.newArrayList("Blargle!");
Rất đơn giản:
Arrays.asList("Hi!")
Khi thấy Guava được đề cập, tôi nghĩ tôi cũng sẽ đề xuất Bộ sưu tập Eclipse (trước đây gọi là Bộ sưu tập GS).
Các ví dụ sau đây đều trả về a List
với một mục duy nhất.
Lists.mutable.of("Just one item");
Lists.mutable.with("Or use with");
Lists.immutable.of("Maybe it must be immutable?");
Lists.immutable.with("And use with if you want");
Có các phương pháp tương tự cho các bộ sưu tập khác.
Tuy nhiên, một giải pháp thay thế khác là khởi tạo dấu ngoặc kép , ví dụ:
new ArrayList<String>() {{ add(s); }};
nhưng nó không hiệu quả và mờ mịt . Do đó chỉ phù hợp:
Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.
Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?
Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.
Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.
The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!
Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.
Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?
Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.
Desiree Rogers, trái, và Cheryl Mayberry McKissack Chuyển sang, Fenty Beauty và Pat McGrath, có một đế chế làm đẹp mới do phụ nữ làm chủ đang trỗi dậy. Sau thương vụ mua lại mỹ phẩm Black Opal vào tháng 9, đội ngũ quyền lực của Giám đốc điều hành công ty Desiree Rogers và Chủ tịch Cheryl Mayberry McKissack đã thông báo mua lại thương hiệu làm đẹp tiên phong Fashion Fair từ người sáng lập Johnson Publishing Company (JPC).
Đối với những người có quá nhiều thời gian, tiệc tiết lộ giới tính là một cách thú vị để không cần áp đặt những định kiến hạn chế lên thai nhi trước một đối tượng bạn bè giả vờ quan tâm một cách lịch sự. Tuy nhiên, việc chỉ dựa vào những chiếc bánh nướng có màu nhân tạo để biểu thị một tiếng hoo-ha hoặc một đứa trẻ đi tè đã trở nên xa xỉ trong các bậc cha mẹ trên Instagram.
Hôm thứ Tư, cựu Bộ trưởng An ninh Nội địa Kirstjen Nielsen vì một lý do nào đó đã được đưa ra một diễn đàn để phát biểu tại Hội nghị thượng đỉnh Những người phụ nữ quyền lực nhất của Fortune. Và có thể đoán trước được, người phụ nữ giám sát các nỗ lực (đang diễn ra) của chính quyền Trump nhằm chia cắt các gia đình ở biên giới đã sử dụng thời gian của mình như một cơ hội để tự bảo vệ mình và tự nhận mình là người — và hãy hít thở sâu ở đây — “đã nói sự thật với quyền lực.
Vì thế hệ mới nhất của chiếc xe điều chỉnh được yêu thích trên thế giới hiện đã có mặt tại đây, nên chỉ có điều kiện là Toyota Racing Development sẽ đưa phiên bản Supra thế hệ thứ năm sửa đổi của riêng mình đến SEMA vào tháng tới. Toyota đã cho chúng tôi một gợi ý về những gì sẽ xảy ra trong tuần này: một chiếc Concept GR Supra 3000GT hiện đại.
Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!
Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!
Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không
Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"
Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.
Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.
Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.
Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.