Dator > Hur kan jag få i skärningspunkten mellan två uppsättningarna i java ?

  • Hur kan jag få i skärningspunkten mellan två uppsättningarna i java ?


  • Java Set -gränssnittet ger ett kraftfullt verktyg för att lagra samlingar av Java-objekt utan att kopiera information . Sun Microsystems tillhandahåller ingen inbyggd funktion för att jämföra två set för att producera en förteckning över ömsesidigt höll element . Detta är dock funktionalitet lätt att lägga till med några " för-varje " loopar

    Du behöver : .
    Java 1
    5 eller senare .


    1 .
    Skapa en SetIntersector klass genom att klistra in följande kod i din Java- utvecklingsmiljö eller textredigerare .

    import java . util. ArrayList ;
    import java. util. HashSet ;
    import java. util. Set ;

    /**
    * Denna klass kommer att hitta skärningspunkten mellan två uppsättningar .
    * @ author Kevin Walker
    * /
    public class SetIntersector {

    }
    2 .
    Lägg till en findIntersection metod för att göra jobbet :

    public static ArrayList findIntersection ( Set A, B ) {
    ArrayList korsningen=new ArrayList () ;

    för ( Object x : a) {
    för ( Object Y : b ) {
    om ( x. lika ( y )) {
    intersection. add (x ) ; }

    } }


    återvända vägkorsningen;
    }

    Denna metod kommer att gå igenom båda och jämföra sina delar en i taget . Om de överensstämmer , är elementet läggas till en ArrayList som heter " korsning ", som är tillbaka efter att arbetet är avslutat .
    3 .
    Lägg till en main-metod för att testa att allt fungerar på samma sätt Det förväntas att fungera:


    public static void main ( String [ ] args ) {

    Ställ en=ny HashSet () ;
    en . lägg (1) ,
    a. add (2) ,
    a. add (3) ,

    serie B=new HashSet () ;
    b. add (7) ,
    b. add (3) ,
    b. add (1) ,

    ArrayList korsningen=findIntersection (a, b ) ,

    //Detta ska skriva 1 och 3 , eftersom
    //dessa är de enda värderingar som är gemensamma
    //till varje uppsättning
    för . ( Object x : korsning ) {
    System. out. println ( x. toString ());
    } }


    Detta skapar två uppsättningar och fyller dem med olika uppsättningar av siffror . Men siffrorna har viss överlappning : 1 och 3 i båda set. Det kör " findIntersection () " -metoden på dem båda och placerar resultatet i en ny ArrayList heter " korsning . "

    Slutligen går det igenom alla objekt i korsningen och skriver ut dem på skärmen .

    tips och varningar


  • Steg 2 använder " för-varje " loop -syntax till i Java 1. 5. Om du använder en tidigare version av Java , måste du skriva en mer gammaldags par "för " loopar använda Iterator klassen .
  • Det är mycket viktigt att din findIntersection klassen jämföra de två värdena med hjälp av " . equals ( ) " istället "==. " Till exempel anser dessa två kommandon :
  • //Detta utvärderas till false
  • om ( new String ( "Hej " ) == "Hello " ) {}
  • //Detta kommer att utvärderas till sant!
  • om ( new String ( "Hej " ) . equals ( "Hej " )) { }

Previous:nothing Next:hur man skapar en webbsida som innehåller en applet som fungerar som en enkel texteditor med Java





Relaterade artiklar


  • hur man använder flera namnrymder
  • Lägga till JavaScript dynamiskt med dom scripting
  • Game Maker 7,0 tutorials
  • hur man skriver makron i Visual Basic
  • vad är en Visual Basic Script fil ?
  • hur man läser CPU-temperaturen med ett VB6 program
  • hur man gör en vbs fil
  • SQL-programmering tutorial
  • hur man skapar dra ner rutorna
  • hur du säkerhetskopierar med Visual Basic