Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-09-2007, 09: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, 09: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 10:04.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 10-09-2007, 20: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, 09: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, 11: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, 04: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, 04: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


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
SpaceX ha lanciato la missione Flight 15...
NVIDIA cerca il successore di Jensen Hua...
La CNSA annuncia la missione Tianwen-4 v...
Una valanga di wafer e memorie incombe s...
Microsoft 365, miglioramenti dopo il dow...
Un'IA attacca la tua azienda, ma per dif...
TSMC investe 1 miliardo di dollari in Op...
Niente più risposte IA nelle ricerche: M...
Allarmi bomba nelle scuole, il Viminale:...
OpenAI incassa 10 miliardi in tre mesi, ...
Continua il Black Friday Engwe: sconto e...
OnePlus 12 riceve Android 17 con una set...
Troppe patch generate dall'IA: anche chi...
Comprata e spenta il giorno dopo: cos'er...
Google lancia Tabletop, l'IA che trasfor...
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: 01:36.


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