我來自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. 如何在向量中存儲多個類的不同對象?
- 5. 聲明存儲在集合中的類型(文字)的變量
- 6. 如何在java中的單個集合中使用difirent類型的數據
- 7. 如何在C#中有多個派生類型的單個數據集合?
- 8. 在Java中存儲變量類型
- 9. Java:將某些類型的集合中的對象包含在集合中以存儲重複集合
- 10. 如何在java中的任何二維數組中存儲多個不同數據類型的字段?
- 11. 使用NoRM在MongoDB的一個集合中存儲多種類型的對象
- 12. C++如何兩個數據類型存儲在一個矢量
- 13. 指定集合數據類型的Java?
- 14. Java集合 - 存儲多個信息
- 15. 如何將混合類型文件中的整數存儲到數組中? Java
- 16. 將多個數據類型存儲在單個HashMap中
- 17. 如何存儲在一個向量中的多個派生類,而切片
- 18. C如何在內存中存儲不同的數據類型?
- 19. 在java中存儲大數的id基本數據類型?
- 20. 在Java中聲明集合的類型
- 21. 如何在Java中以不同數量的行存儲數據?
- 22. 什麼是適合存儲少量元素的集合類型?
- 23. 如何創建可存儲在Java中的多個數據類型的對象ArrayList類
- 24. 何處/如何存儲數據集合
- 25. 如何將存儲過程的多個結果存儲到數據集中?
- 26. 如何在1個變量中存儲多個行集sql
- 27. 如何原始型(String)的集合存儲到數據庫
- 28. 如何創建名稱存儲在向量中的數據幀
- 29. 在結構向量的結構向量圖中存儲數據
- 30. 逼退多種類型的數據中的向量在C++
BakeryItem似乎只需要一個類...所以你創建一個Vector(最好是Arraylist)存儲的對象 –
這太籠統了,不能提供有用的答案。我們應該看看你的課程是什麼樣的,你想要做什麼,以及你堅持什麼。 – shmosel
@shmosel這對於C++程序員來說不是太普通。我們習慣於把各種各樣的東西粘在各種地方,其中有些並不完全合適。指針可以是美麗而有用的東西。 –