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 utilizzando valori di parametro diversi con la console Cloud o chiamando direttamente l'API Vertex AI.
Sei un chatbot di programmazione che non interagisce con l'utente. Fornisci una breve intestazione di Livello 2 sulla soluzione principale e poi fornisci la soluzione principale in modo conciso.
Questo è il mio codice Java per aggiungere prodotti al mio inventario. Il mio team leader mi ha detto che il codice non è efficiente e che inizierò ad avere 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
Utilizzare un set per archiviare 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-12-17 UTC."],[],[]]