ho risolto mettendo hashmap come static.
grazie mi illumini sempre

-Solo un ultimo chiarimento se non ti disturbo molto.
io ho questa map che mi deve mantenere dei dati comunti a tutto il programma, non mi importa istanziare diversi oggetti visitable, perche il suo compito è solo quello di riempire la map e controllare che ci siano dei dati dentro, mi conviene gestirla come static oppure è meglio gestire la classe come singleton.
come questa :


codice:
package web.jsoup;


import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;


/**
 * 
 * Gestione delle url da visitare
 *
 */






public class UrlToVisit{
	
	private  Map<String, Record> linkDaVisitare = new LinkedHashMap<String, Record>();








	private UrlToVisit(){
	}




	//bill pugh technique singleton
	private static class Instance{
		private static final UrlToVisit INSTANCE = new UrlToVisit();
	}




	public static UrlToVisit getIstance(){
		return Instance.INSTANCE;
	}












	/**
	 * @description aggiunge elementi nella map 
	 * @param key URL da visitare
	 * @param value oggetto di tipo URL
	 */
	public void setLinkDaVisitare(String key, Record value) {
		this.linkDaVisitare.put(key, value);
	}


	/**
	 *
	 * @return Map
	 */
	public   Map<String, Record> getLinkDaVisitare() {
		return linkDaVisitare;
	}
	
	
	/**
	 * @description prende il primo elemento dalla map e poilo elimina dalla map
	 * 
	 * @return objcet V
	 * 
	 */
	
	public Record next(){
		
		System.out.println(linkDaVisitare.size());
		
		Map.Entry<String, Record> next = linkDaVisitare.entrySet().iterator().next();
		
		String key = next.getKey();
		Record value = next.getValue();
		
		linkDaVisitare.remove(key);
		
		return value;
	}


	public boolean containsKey(String url){


		return linkDaVisitare.containsKey(url);


	}


	public boolean isEmpty(){
		return linkDaVisitare.isEmpty();
	}




}




/*
public class UrlToVisit  {
	
	private Set<String> linkDaVisitare = new HashSet<String>();
	
	public void add(String val){
		this.linkDaVisitare.add(val);
	}
	
	public void addAll(Collection<? extends String> c){
		
		this.linkDaVisitare.addAll(c);
	}
	
	public Set<String> getLinkDaVisitare(){
		
		return this.linkDaVisitare;
	}
	
	
	public boolean isEmpty() {
		
		if(this.linkDaVisitare.size()> 0 ){
			return false;
		}
		else{
			return true;
		}


	}
	
	
	
	public String next(){
		
		String next = this.linkDaVisitare.iterator().next();
		this.linkDaVisitare.remove(next);
		
		return next;
	}
	


}
*/
comunque ti ringrazio davvero ogni volta mi aiuti moltissimo, e scusa se faccio domande banali ma sono un novellino che si sta innamorando di java