Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Star Wars Zero Company è l'erede di XCOM 2
Star Wars Zero Company è l'erede di XCOM 2
Bit Reactor porta nell’universo di Star Wars una struttura tattica che richiama apertamente XCOM 2, ma la arricchisce con legami tra i personaggi, progressione ruolistica, gestione della base e un sistema di combattimento costruito attorno a tre Punti Azione e alle risorse condivise della squadra
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-09-2007, 08:29   #1
antoniod82
Member
 
Iscritto dal: Jun 2006
Città: Salerno
Messaggi: 238
[java] confronto tra array di stringhe

Ho 2 vettori di stringhe di cui uno è un sottinsieme dell'altro.
Esiste un metodo che mi ritorni un terzo array contenente le stringhe che sono in quello con + più stringhe ma nn nell'altro??

grazie.
antoniod82 è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 08:47   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da antoniod82 Guarda i messaggi
Ho 2 vettori di stringhe di cui uno è un sottinsieme dell'altro.
Esiste un metodo che mi ritorni un terzo array contenente le stringhe che sono in quello con + più stringhe ma nn nell'altro??
Se intendi un qualche metodo nel framework standard di Java, no non mi risulta che ci sia.

Ma puoi certamente fartelo tu, non è affatto difficile.

EDIT: ti dò anche un aiuto, se questa elaborazione la fai passando attraverso una collection (es. LinkedList) fai tutto in 6 righe di codice pulite pulite senza fare neanche 1 loop.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet

Ultima modifica di andbin : 10-09-2007 alle 09:04.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 19:57   #3
antoniod82
Member
 
Iscritto dal: Jun 2006
Città: Salerno
Messaggi: 238
me ne sono uscito in 5 righe ma con 2 loop:

1. nel primo sostituisco nell'array + grande un carattere "x" al posto degli elementi in comune;

2. nel secondo mi costruisco un array scartando dall'ultimo gli elementi uguali a "x".

ieri ho messo un altro thread, nn so se l'hai letto, mica sai se si può creare il diagramma UML di un progetto direttamente in JBuilder??

grazie e alla prossima,
Antonio
antoniod82 è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2007, 08:57   #4
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da antoniod82 Guarda i messaggi
me ne sono uscito in 5 righe ma con 2 loop:

1. nel primo sostituisco nell'array + grande un carattere "x" al posto degli elementi in comune;

2. nel secondo mi costruisco un array scartando dall'ultimo gli elementi uguali a "x".
Beh, scusa se lo dico ma questa è una gran boiata. Ma se ti piace così .....

Si potrebbe fare (come avevo detto prima) usando solamente le collezioni:
Codice:
public static String[] arrayAMinusB (String[] a, String[] b)
{
    LinkedList<String> list1 = new LinkedList<String> ();
    LinkedList<String> list2 = new LinkedList<String> ();
    Collections.addAll (list1, a);
    Collections.addAll (list2, b);
    list1.removeAll (list2);
    return list1.toArray (new String[list1.size()]);
}
Così è estremamente pulito ed elegante.

Se si volesse farlo senza usare in alcun modo le collezioni, si potrebbe fare così:
Codice:
public static String[] arrayAMinusB (String[] a, String[] b)
{
    String[] v = a.clone ();
    int n = 0;

    main:
    for (int i = 0; i < v.length; i++)
    {
        for (int j = 0; j < b.length; j++)
            if (v[i] == b[j])
                continue main;

        v[n++] = v[i];
    }

    String[] r = new String[n];
    System.arraycopy (v, 0, r, 0, n);
    return r;
}
Se poi si volesse realizzare una soluzione intermedia che utilizza una collezione, si potrebbe fare così:
Codice:
public static String[] arrayAMinusB (String[] a, String[] b)
{
    LinkedList<String> list = new LinkedList<String> ();

    main:
    for (int i = 0; i < a.length; i++)
    {
        for (int j = 0; j < b.length; j++)
            if (a[i] == b[j])
                continue main;

        list.add (a[i]);
    }

    return list.toArray (new String[list.size()]);
}
E nota che nessuna delle tre soluzioni va ad alterare in alcun modo gli array originali. Insomma .... di soluzioni migliori della tua ce ne sono.
__________________
Andrea, Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 11-09-2007, 10:38   #5
rayman2
Senior Member
 
Iscritto dal: Jan 2002
Messaggi: 437
anche perchè se poi nell'array c'è già una stringa contenente solo "x" non funziona più niente!
rayman2 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2007, 03:12   #6
antoniod82
Member
 
Iscritto dal: Jun 2006
Città: Salerno
Messaggi: 238
caro andbin,

ti confermi maestro.

grazie
antoniod82 è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2007, 03:13   #7
antoniod82
Member
 
Iscritto dal: Jun 2006
Città: Salerno
Messaggi: 238
(da cancellare)
antoniod82 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
ESA e ClearSpace svilupperanno un satell...
Oracle, stock option da quasi un miliard...
Starship: si è conclusa anticipat...
Un computer quantistico ha funzionato ne...
Sovranità sui dati: AWS è ...
Il nuovo nome della distro Linux mobile ...
Due ventole da 220 mm e non solo: Cooler...
Truffa telefonica via Google Ads: il bro...
Google pensiona le Gems di Gemini: cosa ...
Flight 14: incertezza per un problema a ...
C'è un problema con i robot Tesla: i dip...
Raggi gamma anomali dalla Via Lattea sve...
NIO vende il 30% della divisione scambio...
Sony brevetta un DualSense capace di acc...
Un volto per l'assistenza IA: cosa pu&og...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v