Šta je novo?

[JAVA] Deljenje kolekcije na manje delove

milos_r

Slavan
Učlanjen(a)
31.10.2004
Poruke
487
Poena
319
Pozdrav,
ima li neko ideju kako da napravim da mi se vektor<Object> automatski deli na manje komade ako se ovaj glavni napuni sa vise od n elemenata.
Dakle otprilike nesto tipa ako se posalje vektor sa manje od n elemenata on ce vratiti nov vektor sa nepromenjenim clanovima a ako prodje tu zamisljenu velicinu da mi automatski pravi potrebnu kolicinu manjih vektora.
Recimo ako je n=5 a vektor ima 13 clanova vratice mi nesto tipa vector sa tri vectora unutra od po 5, 5 i 3 clana.
Pretpostavljam da nisam bio najjasniji al ako neko ima ideju nek pise
Hvala unapred
Milos
 
Ako sam te dobro razumeo mislim da bi obako nesto odradilo posao:

Kod:
static Vector splitVector(int n, Vector<Object> v) {
		if (n > v.size()) {
			return v;
		}
		Vector<Vector<Object>> vv = new Vector<Vector<Object>>();
		for (int iPos = 0; iPos < v.size();) {
			Vector<Object> temp = new Vector<Object>();
			for (int jPos = 0; jPos < n && iPos < v.size(); iPos++, jPos++) {
				temp.add(v.elementAt(iPos));
			}
			vv.add(temp);
		}
		return vv;
	}
 
Ako sam te dobro razumeo mislim da bi obako nesto odradilo posao:

Kod:
static Vector splitVector(int n, Vector<Object> v) {
		if (n > v.size()) {
			return v;
		}
		Vector<Vector<Object>> vv = new Vector<Vector<Object>>();
		for (int iPos = 0; iPos < v.size();) {
			Vector<Object> temp = new Vector<Object>();
			for (int jPos = 0; jPos < n && iPos < v.size(); iPos++, jPos++) {
				temp.add(v.elementAt(iPos));
			}
			vv.add(temp);
		}
		return vv;
	}

Hvala puno,
upravo to mi je trebalo.
Pozdrav
Milos
 
Nazad
Vrh Dno