Java 将arrayList与自身进行比较

Java 将arrayList与自身进行比较,java,arrays,arraylist,Java,Arrays,Arraylist,如果我有一个arrayList(为了简单起见),它包含A、B、C 我想将这些值与它们自己进行比较,而不将任何东西与它们自己进行比较,也不将相同的两个值进行两次比较 我该怎么做 现在我有以下几点 for(Double db : arrayList) { for(Double db2 : arrayList) { if(db2 != db) { //compare } } } 但这并不能排除这样的情况,

如果我有一个
arrayList
(为了简单起见),它包含
A、B、C

我想将这些值与它们自己进行比较,而不将任何东西与它们自己进行比较,也不将相同的两个值进行两次比较

我该怎么做

现在我有以下几点

for(Double db : arrayList)
{
    for(Double db2 : arrayList)
    {
        if(db2 != db)
        {
            //compare
        }
    }
}
但这并不能排除这样的情况,即先将A与B进行比较,然后再将B与A进行比较

有什么想法吗


提前谢谢

听起来您可能只是想按索引进行:

for(int i=0;i
使用:

List arrayList=。。。;
int length=arrayList.size();
对于(int i=0;i
请注意,您可以在此处将
i
的边界减少一个,因为最后一个元素没有任何可比性。(子列表将是空的。)@JonSkeet不
arrayList。子列表(长度,长度)
返回一个空列表,因此它不会进入内部循环?是的,但我的观点是,你知道它会这样做-那么为什么还要进入外部循环,获取最后一个元素,然后创建空子列表(视图)?
for (int i = 0; i < arrayList.size() - 1; i++) {
    Double db = arrayList.get(i);
    for (int j = i + 1; j < arrayList.size(); j++) {
        Double db2 = arrayList.get(j);

        // Don't use == unless you *really* want reference identity
        if (!db2.equals(db)) {
            ...
        }
    }
}
List<Double> arrayList = ...;
int length = arrayList.size();

for(int i = 0; i < length - 1; i++)
{
    Double db1 = arrayList.get(i);
    for(Double db2 : arrayList.subList(i + 1, length))
    {
        // ...
    }
}