Поскольку вы заботитесь только об одной паре индексов, у которых сумма элемента равна определенному числу, используйте forEachIndexed :
fun findSumOfTwo(list: List, number: Int): Pair {
list.forEachIndexed { i1, e1 ->
list.forEachIndexed { i2, e2 ->
if(e1 + e2 == number) {
return i1 to i2
}
}
}
return Pair (-1, -1)
}
Ну, существует несколько Опций. Необходимо получить данные из сервера... Таким образом, или необходимо опросить сервер или нажатие сервера использования.
Опрос довольно легок. Просто используйте класс Таймера для повторного вызова сервиса для наблюдения то, что оценивает его, должен отображаться.
Нажатие сервера сделано с помощью чего-то как комета. вот одна реализация для gwt, который выглядит несколько многообещающим. Они фундаментальное понятие позади этого является браузером, отправляют запрос к серверу и сохраняют соединение открытым, таким образом, сервер свободен удержать на месте передающие данные.
Комета является более оптимальным вариантом, если можно получить его работа. Это, вероятно, будет более простым и масштабируется лучше.
Удачи!
Опрос является, вероятно, лучшим способом сделать то, что Вы ищете. Большой глюк с GWT - то, что все должно быть сериализуемым. Я не уверен, может ли что-нибудь, что может продвинуть к браузеру, быть легко сериализировано.