i got a problem with hashset, I cannot remove a hashset, and here is the code  //take stopword list from file     public void stopWordList(){     openFile("D:/ThesisWork/Perlengkapan/stopword.txt");     while(x.hasNext()){          String a = x.nextLine();             a = a.toLowerCase();             stopWords.add(a);     }  }     //the method to remove stopword public void stopWordRemoval(){     stopWordList();             //if the word in the streams set is equal to stopword, it should be removed     for(String word:streams){         for(String sw:stopWords){              if(word.equals(sw)){                 streams.remove(word);                                    }         }     }   But, it gives me an exception, it says like :   Exception in thread "main" java.util.ConcurentModificationException, could anyone help me? thanks :)
18664
I am using a Collection (a HashMap used indirectly by the JPA, it so happens), but apparently randomly the code throws a ConcurrentModificationException. What is causing it and how do I fix this problem? By using some synchronization, perhaps?  Here is the full stack-trace:  Exception in thread "pool-1-thread-1" java.util.ConcurrentModificationException         at java.util.HashMap$HashIterator.nextEntry(Unknown Source)         at java.util.HashMap$ValueIterator.next(Unknown Source)         at org.hibernate.collection.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:555)         at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)         at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)         at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)         at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)         at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
102058
When overriding the equals() function of java.lang.Object, the javadocs suggest that,      it is generally necessary to override the hashCode  method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.   The hashCode() method must return a unique integer for each object (this is easy to do when comparing objects based on memory location, simply return the unique integer address of the object)  How should a hashCode() method be overriden so that it returns a unique integer for each object based only on that object's properities?   public class People{    public String name;    public int age;     public int hashCode(){       // How to get a unique integer based on name and age?    } } /*******************************/ public class App{    public static void main( String args[] ){        People mike = new People();        People melissa = new People();        mike.name = "mike";        mike.age = 23;        melissa.name = "melissa";        melissa.age = 24;        System.out.println( mike.hasCode() );  // output?        System.out.println( melissa.hashCode(); // output?    } }
48449
I wrote a program that uses POSIX memory-mapping function (mmap)  The program takes a file (a.dat) and memory-maps it for reading/writing.  Due to errors in the program, every time I run the program a file with some weird names (e.g., ?d?P?^z??d?P?^z?) is created. The error is resolved but I am not able to delete the files.  I am not able to delete it either using command line or by select/deleting from window manager.  So how should I delete it? I'm using Ubuntu 11.04.
119736
I have a try...except block in my code and When an exception is throw. I really just want to continue with the code because in that case, everything is still able to run just fine. The problem is if you leave the except: block empty or with a #do nothing, it gives you a syntax error. I can't use continue because its not in a loop. Is there a keyword i can use that tells the code to just keep going?
27164
I have seen people say that it is bad form to use catch with no arguments, especially if that catch doesn't do anything:  StreamReader reader=new  StreamReader("myfile.txt"); try {   int i = 5 / 0; } catch   // No args, so it will catch any exception {} reader.Close();   However, this is considered good form:  StreamReader reader=new  StreamReader("myfile.txt"); try {   int i = 5 / 0; } finally   // Will execute despite any exception {   reader.Close(); }   As far as I can tell, the only difference between putting cleanup code in a finally block and putting cleanup code after the try..catch blocks is if you have return statements in your try block (in that case, the cleanup code in finally will run, but code after the try..catch will not).  Otherwise, what's so special about finally?
5654
What is the difference between using  on the array element as opposed to using ?   For example:  myArray = ['a', 'b', 'c', 'd'];  delete myArray[1]; //  or myArray.splice (1, 1);   Why even have the splice method if I can delete array elements like I can with objects?
1905
I ran into an interesting (and very frustrating) issue with the equals() method today which caused what I thought to be a well tested class to crash and cause a bug that took me a very long time to track down.   Just for completeness, I wasn't using an IDE or debugger - just good old fashioned text editor and System.out's. Time was very limited and it was a school project.  Anyhow -   I was developing a basic shopping cart which could contain an ArrayList of Book objects. In order to implement the addBook(), removeBook(), and hasBook() methods of the Cart, I wanted to check if the Book already existed in the Cart. So off I go -  public boolean equals(Book b) {     ... // More code here - null checks     if (b.getID() == this.getID()) return true;     else return false; }   All works fine in testing. I create 6 objects and fill them with data. Do many adds, removes, has() operations on the Cart and everything works fine. I read that you can either have equals(TYPE var) or equals(Object o) { (CAST) var } but assumed that since it was working, it didn't matter too much.  Then I ran into a problem - I needed to create a Book object with only the ID in it from within the Book class. No other data would be entered into it. Basically the following:  public boolean hasBook(int i) {     Book b = new Book(i);     return hasBook(b); }  public boolean hasBook(Book b) {     // .. more code here     return this.books.contains(b); }   All of a sudden, the equals(Book b) method no longer works. This took a VERY long time to track down without a good debugger and assuming the Cart class was properly tested and correct. After swaapping the equals() method to the following:  public boolean equals(Object o) {     Book b = (Book) o;     ... // The rest goes here    }   Everything began to work again. Is there a reason the method decided not to take the Book parameter even though it clearly  was  a Book object? The only difference seemed to be it was instantiated from within the same class, and only filled with one data member. I'm very very confused. Please, shed some light?
7245
I would like to build a regexp in Java that would be passed in a FilenameFilter to filter the files in a dir.  The problem is that I can't get the hang of the regexp "mind model" :)  This is the regexp that I came up with to select the files that I would like to exclude   ((ABC|XYZ))+\w*Test.xml  What I would like to do is to select all the files that end with Test.xml but do not start with ABC or XYZ.  Could you please add any resources that could help me in my battle with regexps.  Thanks  The following resource explains a lot of things about regexp
53155
Anyone have a good rule of thumb for choosing between different implementations of Java Collection interfaces like List, Map, or Set?  For example, generally why or in what cases would I prefer to use a Vector or an ArrayList, a Hashtable or a HashMap?
11702
Some days ago I realized that  (as well as ) never throw an IOException when writing, flushing or closing.  Instead it sets an internal flag (trouble=true) when an error occurs. It's not possible to get the exact exception, but only if there was some exception ().  My question is: why would one want to have such behavior? Isn't that bad API design?
17471
I'm getting the error below when trying to loop through a listbox and then remove the item.     List that this enumerator is bound to has been modified. An enumerator can only be used if the list does not change.   foreach (string s in listBox1.Items) {     MessageBox.Show(s);     //do stuff with (s);     listBox1.Items.Remove(s); }   How can I remove the item and still loop through the contents?
87669
Hope someone can help me. I am using c# and I am somewhat new to it. I am loading a text file into my app and splitting the data on "," I am reading part of string into a &lt;list&gt; when the data is read there is a lot of duplicates that vary depending on the txt file that I load.  Can someone tell me how to check the  and remove any and all duplicates that come up. There is no way of knowing what duplicates will show up as there is infinite possibilities that it could be.  Thanks for the help in advance
122845
As most stories here begin, I was writing some code for a project that I was working on, and stumbled across an oddity when writing some unit tests. I was testing a method that has a Set&lt;sObject&gt; parameter, and I was attempting to pass this method a Set&lt;Account&gt;.  As Account inherits from sObject, I thought this would work fine. However, when running my test, I got the error     Method does not exist or incorrect signature: [TestClass].someMethod(Set&lt;Account&gt;)   Yes, the method that I was testing expects an argument of Set&lt;sObject&gt;, but an Account can be up-cast to an sObject, and Salesforce handles that implicitly, right?  Since Salesforce was throwing a fit when I tried to rely on implicit casting, the next thing I tried was explicitly up-casting. When I tried to explicitly up-cast my set, I was greeted with a different error     Line: someNumber, Column: otherNumber   Incompatible types since an instance of Set&lt;Account&gt; is never an instance of Set&lt;SObject&gt;   This can be reproduced with the following snippet  Set&lt;sObject&gt; testSet1; Set&lt;Account&gt; testSet2 = new Set&lt;Account&gt;();  testSet1 = (Set&lt;sObject&gt;)testSet2;   I haven't found anything in the documentation to suggest that up-casts for sets aren't allowed. Given that we can up-cast Lists and Maps, I feel this is rather unexpected.  Furthermore, knowing that an Apex set is really a Java HashSet in the back-end (look at the bottom of ), I tried to look for documentation to see if this is somehow dictated by Java, but I came up empty there as well.  I've been able to move on with my project, but this leaves me wondering...  Is there some documentation (Salesforce or Java) that explains this behavior? Failing that, can someone cobble together a feasible explanation for why Sets can't be up-cast?
3248
I have an ArrayList&lt;String&gt;, and I want to remove repeated strings from it. How can I do this?
54815
I'm looking for a class in java that has key-value association, but without using hashes.  Here is what I'm currently doing:   Add values to a Hashtable. Get an iterator for the Hashtable.entrySet(). Iterate through all values and:   Get a Map.Entry for the iterator. Create an object of type Module (a custom class) based on the value. Add the class to a JPanel.  Show the panel.   The problem with this is that I do not have control over the order that I get the values back, so I cannot display the values in the a given order (without hard-coding the order).  I would use an ArrayList or Vector for this, but later in the code I need to grab the Module object for a given Key, which I can't do with an ArrayList or Vector.  Does anyone know of a free/open-source Java class that will do this, or a way to get values out of a Hashtable based on when they were added?  Thanks!
70164
Lets say I have this array,  int[] numbers = {1, 3, 4, 9, 2};   How can I delete an element by "name"? , lets say number 4?  Even ArrayList didn't help to delete?  string strNumbers = " 1, 3, 4, 9, 2"; ArrayList numbers = new ArrayList(strNumbers.Split(new char[] { ',' })); numbers.RemoveAt(numbers.IndexOf(4)); foreach (var n in numbers) {     Response.Write(n); }
5777
I was looking at the API documentation for stl vector, and noticed there was no method on the vector class that allowed the removal of an element with a certain value. This seems like a common operation, and it seems odd that there's no built in way to do this.