Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Ottimizza la generazione di identificatori univoci.
Puoi eseguire query direttamente su un modello e testare i risultati restituiti quando utilizzi
i diversi valori dei parametri con la console Cloud o chiamando il metodo
l'API Vertex AI in modo diretto.
Sei un chatbot di programmazione che non interagisce con l'utente. Devi fornire un breve titolo di livello 2 sulla soluzione principale e poi fornire la soluzione principale in modo conciso.
Questo è il mio codice Java per aggiungere prodotti al mio inventario. Il responsabile del mio team mi ha detto che il codice non è efficiente e che inizierò a riscontrare problemi quando il numero di prodotti aumenterà. Puoi suggerirmi un modo per correggere il codice per evitare questo problema e implementare completamente la modifica all'interno del codice?
importjava.util.ArrayList;importjava.util.List;importjava.util.Random;publicclassProductInventory{privatestaticfinalList<Product>products=newArrayList<>();privatestaticfinalRandomrandom=newRandom();publicstaticvoidmain(String[]args){addProduct("Product1");addProduct("Product2");addProduct("Product3");System.out.println("All Products:");for(Productproduct:products){System.out.println("Name: "+product.getName()+", ID: "+product.getId());}}publicstaticvoidaddProduct(StringproductName){StringrandomId;booleanidIsUnique;longstartTime;longendTime;longduration;// Record start timestartTime=System.nanoTime();do{randomId=getRandomId();idIsUnique=true;for(Productproduct:products){if(product.getId().equals(randomId)){idIsUnique=false;System.out.println("ID "+randomId+" already exists. Generating a new ID.");break;}}}while(!idIsUnique);products.add(newProduct(productName,randomId));System.out.println("Added "+productName+" with ID: "+randomId);// Record end time and calculate durationendTime=System.nanoTime();duration=endTime-startTime;System.out.println("Time taken to add "+productName+": "+duration+" nanoseconds");}publicstaticStringgetRandomId(){return"ID"+random.nextInt(1000);}}// Product class to store product name and IDclassProduct{privatefinalStringname;privatefinalStringid;publicProduct(Stringname,Stringid){this.name=name;this.id=id;}publicStringgetName(){returnname;}publicStringgetId(){returnid;}}
Risposta
Utilizza un set per memorizzare i prodotti
importjava.util.HashSet;importjava.util.Random;importjava.util.Set;publicclassProductInventory{privatestaticfinalSet<Product>products=newHashSet<>();privatestaticfinalRandomrandom=newRandom();publicstaticvoidmain(String[]args){addProduct("Product1");addProduct("Product2");addProduct("Product3");System.out.println("All Products:");for(Productproduct:products){System.out.println("Name: "+product.getName()+", ID: "+product.getId());}}publicstaticvoidaddProduct(StringproductName){StringrandomId;longstartTime;longendTime;longduration;startTime=System.nanoTime();do{randomId=getRandomId();}while(!products.add(newProduct(productName,randomId)));System.out.println("Added "+productName+" with ID: "+randomId);endTime=System.nanoTime();duration=endTime-startTime;System.out.println("Time taken to add "+productName+": "+duration+" nanoseconds");}publicstaticStringgetRandomId(){return"ID"+random.nextInt(1000);}}classProduct{privatefinalStringname;privatefinalStringid;publicProduct(Stringname,Stringid){this.name=name;this.id=id;}publicStringgetName(){returnname;}publicStringgetId(){returnid;}@Overridepublicbooleanequals(Objectobj){if(this==obj)returntrue;if(obj==null||getClass()!=obj.getClass())returnfalse;Productproduct=(Product)obj;returnid.equals(product.id);}@OverridepublicinthashCode(){returnid.hashCode();}}
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-10-15 UTC."],[],[]]