2010-05-26 38 views
12

Hashtable hwcách lấy giá trị HashTable làm Arraylist?

Làm thế nào tôi có thể chuyển đổi các giá trị của nó để:

ArrayList <Word> arr 

nhờ.

+0

Tôi tìm thấy điều này khá thú vị :) –

+0

này luôn luôn xảy ra về các vấn đề dễ dàng. Cá nhân tôi nghĩ rằng nó là sang trọng để xóa một câu trả lời trùng lặp bạn đăng nếu nó không đóng góp bất cứ điều gì nhiều hơn một câu trả lời đã được gửi trước khi bạn, nhưng mọi người thực sự làm điều đó là cực kỳ hiếm –

+0

@Michael, Đối với tôi nó là thú vị để cuộc đua được người đầu tiên trả lời, trong khi vẫn cung cấp nội dung tốt nhất. – jjnguy

Trả lời

42

Sử dụng hàm tạo ArrayList có bộ sưu tập.

ArrayList<Word> arr = new ArrayList<Word>(hw.values()); 

Sau đó, mọi giá trị trong HashTable sẽ ở trong ArrayList mới.

Bạn có thể tìm tài liệu về hàm tạo trong the javadocs.

10
ArrayList<Word> arr = new ArrayList<Word>(hw.values()); 
+0

+1: Bạn đã quá damn nhanh: D – Simon

0

sử dụng

hw.values(); 

nó sẽ chỉ đơn giản là trả lại Bộ sưu tập (giống như một danh sách) của Word đối tượng.


từ javadocs

giá trị

Bộ sưu tập công giá trị()

Trả về một quan điểm Bộ sưu tập của giá trị chứa trong bản đồ này. Bộ sưu tập được bản đồ sao lưu, do đó, thay đổi đối với bản đồ được phản ánh trong bộ sưu tập và ngược lại. Nếu bản đồ được sửa đổi trong khi quá trình lặp lại qua bộ sưu tập đang được tiến hành (ngoại trừ thông qua thao tác xóa riêng của biến lặp), kết quả của lần lặp không được xác định. Bộ sưu tập hỗ trợ xóa phần tử, loại bỏ ánh xạ tương ứng khỏi bản đồ, qua Iterator.remove, Collection.remove, removeAll, retainAll and clear hoạt động. Nó không hỗ trợ các hoạt động thêm hoặc thêmTất cả các hoạt động.

8

Ngoài ra bạn có thể sử dụng

ArrayList<Word> arr = Collections.list(hw.keys()); 

cho các phím như ArrayList

+0

đẹp, nhờ đó – raffian

+0

phím muốn thx! bất kỳ ý tưởng lý do tại sao họ trở lại các phím như liệt kê và không thu thập? –

Các vấn đề liên quan