Most visited

Recently visited

Added in API level 1

CursorJoiner

public final class CursorJoiner
extends Object implements Iterator<CursorJoiner.Result>, Iterable<CursorJoiner.Result>

java.lang.Object
   ↳ android.database.CursorJoiner


使用指定列加入两个游标。 游标必须按升序排列在每个指定的列上。 该连接器仅支持键列值的元组是唯一的情况。

典型用法:

 CursorJoiner joiner = new CursorJoiner(cursorA, keyColumnsofA, cursorB, keyColumnsofB);
 for (CursorJointer.Result joinerResult : joiner) {
     switch (joinerResult) {
         case LEFT:
             // handle case where a row in cursorA is unique
             break;
         case RIGHT:
             // handle case where a row in cursorB is unique
             break;
         case BOTH:
             // handle case where a row with the same key is in both cursors
             break;
     }
 }
 

Summary

Nested classes

枚举 CursorJoiner.Result

对next()的调用的结果。

Public constructors

CursorJoiner(Cursor cursorLeft, String[] columnNamesLeft, Cursor cursorRight, String[] columnNamesRight)

初始化CursorJoiner并将游标重置为第一行。

Public methods

boolean hasNext()

使用next()返回是否有更多行进行比较。

Iterator<CursorJoiner.Result> iterator()

返回类型为 T元素的迭代器。

CursorJoiner.Result next()

返回每个游标下一行的比较结果。

void remove()

从底层集合中移除此迭代器返回的最后一个元素(可选操作)。

Inherited methods

From class java.lang.Object
From interface java.util.Iterator
From interface java.lang.Iterable

Public constructors

CursorJoiner

Added in API level 1
CursorJoiner (Cursor cursorLeft, 
                String[] columnNamesLeft, 
                Cursor cursorRight, 
                String[] columnNamesRight)

初始化CursorJoiner并将游标重置为第一行。 左列和右列名称数组必须具有相同的列数。

Parameters
cursorLeft Cursor: The left cursor to compare
columnNamesLeft String: The column names to compare from the left cursor
cursorRight Cursor: The right cursor to compare
columnNamesRight String: The column names to compare from the right cursor

Public methods

hasNext

Added in API level 1
boolean hasNext ()

使用next()返回是否有更多行进行比较。

Returns
boolean true if there are more rows to compare

iterator

Added in API level 1
Iterator<CursorJoiner.Result> iterator ()

返回类型为 T元素的迭代器。

Returns
Iterator<CursorJoiner.Result> an Iterator.

next

Added in API level 1
CursorJoiner.Result next ()

返回每个游标下一行的比较结果。 如果一个游标没有更多的行,但另一个游标没有,那么随后的调用将表明剩下的行是唯一的。

在调用此函数之前,调用者必须检查hasNext()是否返回true。

一旦调用next(),调用next()的结果中指定的游标将保证指向所指示的行。 读取游标中未在调用next()时指示的值将导致未定义的行为。

Returns
CursorJoiner.Result LEFT, if the row pointed to by the left cursor is unique, RIGHT if the row pointed to by the right cursor is unique, BOTH if the rows in both cursors are the same.

remove

Added in API level 1
void remove ()

从底层集合中移除此迭代器返回的最后一个元素(可选操作)。 每次调用next()只能调用一次此方法。 如果除了通过调用此方法以外的任何其他方式进行迭代时修改了底层集合,则未指定迭代器的行为。

Hooray!