我來自c + +背景和c + +我們可以使用指針和存儲在一個向量多個數據類型的集合,但我們如何在java中做到這一點。 例如,我想存儲: {名稱,價格/磅,重量} {名稱,價格} 這是一種麪包店收據計劃。如何在java中的向量中存儲多個數據類型的集合?
1
A
回答
2
Java是一種非常面向對象的語言類型,它非常依賴類和對象。您可能會發現更容易爲Receipt
授課,然後只需存儲陣列收據
但是,您可能會也可能不希望在Receipt
類中擁有Products
列表。通過這種方式,您可以在單個收據上包含多個項目。這也需要一個Product
類,而且在Receipt
類中,您可以將name
,pricePerPound
,weight
更改爲產品列表,而您的Product
類將改爲存儲這些變量。然後每個產品將有一個名字,每磅的價格和重量
public class Receipt {
String name;
double pricePerPound;
double weight;
//Constructor
public Receipt() {
}
//Other methods can go here, like getters and setters
}
然後,你可以有數組Receipts
Receipt[] receipts = new Receipt[10];
或者您可以使用java.util.ArrayList
得到的數據類型,這將改變在大小
ArrayList<Receipt> receipts = new ArrayList<>(); //ArrayList of type Receipt
見ArrayList文檔的方法,您可以使用
1
在Java中執行此操作的正確方法是創建一個接口,該接口表示您希望存儲在集合中的對象的常見屬性,然後讓這些對象的每個類都實現該接口。
interface BakeryItem {
String getName();
float getPrice();
}
class WeightedItem {
private final float weight;
private final float pricePerPound;
public float getPrice() {
return weight * pricePerPound;
}
}
List<BakeryItem> bakeryItems;
如果您需要使用不同類的特定屬性的話,我建議使用visitor pattern的邏輯從數據中分離出來。
使用List<Object>
可以在檢索中存儲不同的類,並在檢索時進行投射,但由於各種原因,這不是建議的方法。
相關問題
- 1. 向量存儲Rust中的混合類型數據
- 2. 如何在Java中存儲矢量?什麼是數據類型?
- 3. 如何在向量中存儲多個類的不同對象?
- 4. 如何在C#中有多個派生類型的單個數據集合?
- 5. 在Java中存儲變量類型
- 6. 如何在java中的任何二維數組中存儲多個不同數據類型的字段?
- 7. 使用NoRM在MongoDB的一個集合中存儲多種類型的對象
- 8. 指定集合數據類型的Java?
- 9. Java集合 - 存儲多個信息
- 10. 將多個數據類型存儲在單個HashMap中
- 11. C如何在內存中存儲不同的數據類型?
- 12. 如何在Java中以不同數量的行存儲數據?
- 13. 何處/如何存儲數據集合
- 14. 如何將存儲過程的多個結果存儲到數據集中?
- 15. 如何創建名稱存儲在向量中的數據幀
- 16. 如何在1個變量中存儲多個行集sql
- 17. 如何原始型(String)的集合存儲到數據庫
- 18. 如何在Lucene中存儲多個不同類型的文檔
- 19. 在java中存儲不同的數據類型(android)
- 20. Backbone:在模型中存儲集合
- 21. 存儲值的Java集合
- 22. 存儲泛型T類的C++向量
- 23. 在RDBM中存儲多媒體的數據類型是什麼?
- 24. 如何值從Excel中存儲一些集合中的Java
- 25. C++多態性在一個向量中存儲基類指針
- 26. 如果一個集合中的元素的類型是接口類型,如何填充集合? (Java)
- 27. 在C中存儲數據類型
- 28. 如何將長數據類型存儲在內存中?
- 29. 存儲在多個數據庫中的模型的Symfony項目
- 30. 數組或其他集合,我可以存儲多種類型
BakeryItem似乎只需要一個類...所以你創建一個Vector(最好是Arraylist)存儲的對象 –
這太籠統了,不能提供有用的答案。我們應該看看你的課程是什麼樣的,你想要做什麼,以及你堅持什麼。 – shmosel
@shmosel這對於C++程序員來說不是太普通。我們習慣於把各種各樣的東西粘在各種地方,其中有些並不完全合適。指針可以是美麗而有用的東西。 –