मैं जावा में एक सरणी कैसे फ़िल्टर कर सकता हूं?जावा में एक सरणी कैसे फ़िल्टर करें?
मैं उदाहरण के कारों के लिए वस्तुओं की एक सरणी है,:
कक्षा:
public class Car{
public int doors;
public Car(int d){
this.doors = d;
}
}
उपयोग:
Car [] cars = new Cars[4];
cars[0] = new Car(3);
cars[1] = new Car(2);
cars[2] = new Car(4);
cars[3] = new Car(6);
अब मैं रखते हुए, कारों की सरणी फ़िल्टर करना चाहते हैं केवल 4 दरवाजे और अधिक:
for(int i = 0; i<cars.length; i++){
if(cars[i].doors > 4)
//add cars[i] to a new array
}
}
मुझे यह कैसे करना चाहिए?
इससे पहले कि मैं एक वेक्टर के साथ यह किया:
Vector subset = new Vector();
for(int i = 0; i<cars.length; i++){
if(cars[i].doors > 4)
//add cars[i] to a new array
subset.addElement(cars[i]);
}
}
और फिर मैं वेक्टर के आकार के साथ एक नई सरणी होगा। तब मैं फिर से वेक्टर पर लूप लूंगा और नई सरणी भर दूंगा। मुझे पता है कि यह कुछ आसान के लिए एक बहुत बड़ी प्रक्रिया है।
मैं जे 2 एमई का उपयोग कर रहा हूं।
क्या यह वास्तव में इतना महत्वपूर्ण है कि आपके कंटेनर सरणी हैं और वेक्टर नहीं हैं? क्योंकि वैक्टर बस उपयोग करने के लिए सही चीज़ की तरह लगते हैं। – zneak
ठीक है, मैं अपने पर्यावरण में वेक्टर कारों का उपयोग नहीं कर सकता। इसलिए मुझे हर समय बनाना पड़ता है, जो मुश्किल हो सकता है ... –
hsmit