---
title: "Jämföra innehåll i 2 vektorer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/120360-jämföra-innehåll-i-2-vektorer"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "eriwi"
published: "2005-01-18T07:51:11.000Z"
updated: "2005-01-18T08:38:19.000Z"
replies: 2
views: 311
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/120360-jämföra-innehåll-i-2-vektorer"
---

# Jämföra innehåll i 2 vektorer

## #1 — eriwi, 2005-01-18T07:51Z

Hej

Har ett stort problem: Jag har en vektorer som i sin tur innehåller en massa vektorer. Som jag vill jämföra om dom innehåller samma siffror och ta bort dom som har det.

tex

Vektorn: Pos1: \[0-2-5-9\] Pos2:\[0-5-8-7\] Pos3:\[0-5-9-2\]
 
här skulle jag vilja ta bort \[0-5-9-2\] eftersom den innehåller samma siffror som \[0-2-5-9\] 

Hade en ide att man kunde göra så här men det fungerar inte:

routes är den vektor som innehåller de andra vektorerna
predecssors är "undervektorerna"

if (((node) (routes.elementAt(k))).predecessors.size() == ((node) (routes.elementAt(k+1))).predecessors.size()) {

for (int l=1; k \<= (((node) (routes.elementAt(k))).predecessors
						.size()); l++) {
					
					if	 (((node) (routes.elementAt(k))).predecessors
								.contains(new Integer(l))
								&& (((node) (routes.elementAt(k+1))).predecessors
										.contains(new Integer(l)))) {

//ta bort den vektorn son innehåller samma siffror

Är inte så bra på att förklara, men tanken är att jämnföra positionen i den vektor jag står i med med samma position i nästa vektor och se om dom är lika. Gå vidare till nästa etc etc 

Kanske någon har en ide //Erik

Permalänk: https://www.webforum.nu/p/120360

## #2 — Lime, 2005-01-18T08:06Z

En Vector som innehåller en jämförbar typ, t.ex. en Integer, går att sortera med Collections.sort(List l). Det är det man bör göra först.

I interfacet List finns en metod som heter containsAll(List l). Denna implementeras av Vector.

Alltså kan du göra såhär: (pseudo)
Vector pos1 = \[0-2-5-9\]
Vector pos2 = \[0-5-8-7\]
Vector pos3 = \[0-5-9-2\]

if(pos1.containsAll(pos2))
remove(pos2)

typ...

Sedan är det (nästan) alltid bättre att använda sig av Iterator om man skall lopa igenom hela Collections (List, Vector o.s.v).

Permalänk: https://www.webforum.nu/p/1531814

## #3 — eriwi, 2005-01-18T08:38Z

tack

ska prova //Erik

Permalänk: https://www.webforum.nu/p/1531825

---

Tråden på webben: https://www.webforum.nu/amne/java/120360-jämföra-innehåll-i-2-vektorer
