के साथ एक लिंक्डलिस्ट में किसी विशिष्ट स्थान का संदर्भ लौटाएं मेरे पास एक पोर्टफोलियो क्लास है जिसमें निवेश वर्ग की लिंकलिस्ट भी है (उदाहरण - Google निवेश का एक उदाहरण है), प्रत्येक निवेश का व्यापार इतिहास होता है (दूसरा लिंक सूची) प्रत्येक व्यापार के लिए डेटा के साथ।जावा - सूची इटेरेटर
जब उपयोगकर्ता एक व्यापार करना चाहता है (5K के लिए Google स्टॉक खरीदें) मुझे यह पता लगाना होगा कि निवेश (Google में) निवेश में मौजूद है या नहीं। यदि ऐसा नहीं होता है - नया निवेश जोड़ें (और अपने व्यापार इतिहास के लिए व्यापार जोड़ें), यदि ऐसा होता है - तो बस Google के व्यापार हिस्ट्री लिंक्डलिस्ट में एक और लिंक जोड़ें।
समस्या - मुझे निवेश सूची से Google (निवेश उदाहरण) के संदर्भ को वापस करने के लिए निवेश विधि की आवश्यकता है ताकि मैं अपने व्यापार इतिहास को अपडेट कर सकूं। विधि निवेश सूची में किसी स्थान के संदर्भ के बजाय एक सूची देता है (निवेश होना चाहिए कक्षा)। मुझे निवेश निवेश को कैसे सही करना चाहिए? (पाया = आईटीईआर गलत है)
public class Portfolio {
private LinkedList<Investment> investmentsList;
public Portfolio() {
investmentsList = new LinkedList<Investment>();
}
public void addInvestment(String symbol, double money){
Investment invest = findInvestment(symbol);
if (invest == null) {
System.out.println("symbol does not exist");
getInvestmentsList().add(new Investment(symbol,money));
System.out.println("New invetment has been added to your portfolio - " +symbol);
} else {
invest.addTrade(symbol,money);
System.out.println("A new trade has been added to the current investment - " + symbol);
}
}
public Investment findInvestment(String symbol){
Investment found = null;
ListIterator<Investment> iter = investmentsList.listIterator();
while (iter.hasNext()) {
if (iter.next().getSymbol().equals(symbol)) {
found = iter;
return found;
System.out.println("Found the symbol");
}
}
return found;
}
वैकल्पिक समाधान के रूप में, आप एक सूची के बजाय एक लिंक्ड हैशैप का उपयोग कर सकते हैं, और प्रतीक को "कुंजी" के रूप में उपयोग कर सकते हैं, तो आपको वास्तव में findInvenstment विधि लिखने की आवश्यकता नहीं होगी। .contains(), और .get() आपको जो भी चाहिए उसे प्रदान करेगा। – slambeth
हाँ, यह एक अच्छा विकल्प है, धन्यवाद। – Niminim