i got two String type arraylist ..one list containing “book1”, “book2”, “book3” and “book4”. And another arrayList contains “book1”, “book2”, “book3”. So, size of first list is 4 and second is 3. And I created another arrayList equal to the size of first list
List<Integer> comparingList = new ArrayList<Integer>();
//adding default values as one
for(int a=0;a<firstList.size();a++){
comparingList.add(0);
}
And if any content is equal between two lists, I’m setting 1 instead of 0.
so the new arrayList(comparingList) should have 1,1,1,0 elements
for(int counter = 0;counter < firstList.size();counter++){
for(int counter1 = 0;counter1 < secondList.size();counter1++){
if(firstList.get(counter).equals(secondList.get(counter1))){
comparingList.set(counter,1);
break;
}
}
}
but when i do this, i’m not being able to set 1 as I can’t get into if condition, can anyone help me please
Only iterate on first arraylist with larger length and check for contains in second arraylist , if found set one else do nothing
for(int counter = 0; counter < firstList.size(); counter++) {
if(secondList.contains(firstList.get(counter))) {
comparingList.set(counter,1);
}
}
Just try to run the below program in http://www.compileonline.com/compile_java_online.php
import java.util.ArrayList;
import java.util.List;
public class CompareArrayListTest{
public static void main(String[] args) {
ArrayList<String> firstList = new ArrayList<String>();
firstList.add("book1");
firstList.add("book2");
firstList.add("book3");
firstList.add("book4");
ArrayList<String> secondList = new ArrayList<String>();
secondList.add("book1");
secondList.add("book2");
secondList.add("book3");
List<Integer> comparingList = new ArrayList<Integer>();
// adding default values as one
for (int a = 0; a < firstList.size(); a++) {
comparingList.add(0);
}
for (int counter = 0; counter < firstList.size(); counter++) {
if (secondList.contains(firstList.get(counter))) {
comparingList.set(counter, 1);
}
}
System.out.println(comparingList);
}
BitSet bitset = new BitSet();
// adding default values as one
for (int a = 0; a < firstList.size(); a++) {
comparingList.add(0);
}
for (int counter = 0; counter < firstList.size(); counter++) {
for (int counter2 = 0; counter < secondList.size(); counter++) {
if (secondList.get(counter2).equals(firstList.get(counter))) {
bitset.set(counter, 1);
}
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With