Алексей Черемисин, Ну допустим группы я смогу определить по номерам строк, привязанным к элементам. Если не хранить список строк, то тогда для каждого элемента надо сохранять его позицию. Если хранить этот список, то тогда у меня есть ссылка на строку, и я для вывода результата смогу получить строку сразу из исходного списка.
Алексей Черемисин, Так а как я узнаю, к какой группе относится строка, и на какой позиции находится элемент? Ну это если в мапе в качестве ключей хранить элементы строк.
Алексей Черемисин, Ладно, короче, почитаю про мэп-редьюс, поразбираюсь, посмотрю, что получится (но это будет позже). Пока понял, что надо попробовать создать мапу с ключами в виде элементов строк и значениями в виде номера группы, номера строки и номера позиции.
Алексей Черемисин, Да, я думал о распараллеливании, но если взять допустим первый 100 000 строк, то не факт, что в пределах этого куска данных будут полные группы. Скорее всего, в других частях данных будут элементы этих групп. Хотя, предполагаю, что можно написать алгоритм объединения обработанных кусков данных. Надо подумать.
Алексей Черемисин, А вы свой код запускали, например, на матрице 1000х1000000? Или просто его накидали, без проверки? Просто я хочу выяснить, где ошибка.
Алексей Черемисин, Чтобы строки попали в группу, у них должен совпадать хотя бы один элемент. Соответственно, если у строки нет ни одного общего элемента с другими строками, она попадает в отдельную группу. Так со всеми такими строками. Будет несколько групп с количеством строк больше 1, и несколько группы, в которых будет по одной строке.
Алексей Черемисин, Не понял Вас. Нужно сгруппировать строки, имеющие общие элементы. Среди этих групп будут группы с одной строкой. Их число надо вывести отдельно. Но это неважно, подсчитать всегда можно. Тут главное, чтобы получить наборы этих строк.
По вашему выводу нельзя восстановить строки и вывести их в таком виде, как я указал.
Алексей Черемисин, Длина строки, как указано в примере, то есть 3 элемента, но она может быть произвольная. Просто в моём случае эти строки состоят из трёх элементов.
Алексей Черемисин, Группа - это список строк, имеющих общие элементы (элемент - это подстрока между разделителем). Поэтому пока не понятно, что делать с выводом Вашего кода.
Результат мне надо вывести в виде:
общее количество строк размером больше 1: (некоторое число)
Группа 1
Строка 1
Строка 2
Строка 3
Группа 2
Строка 4
Строка 5
Строка 6
Группа 3
...
Строки в первоначальном списке не повторяются, но элементы в строке могут повторяться (то есть может быть строка вида "X;X;X")
Petrolti, Для каждого класса компилятор создаёт свой class-файл, содержащий байт-код этого класса. Как я понимаю, при вызове метода у объекта или класса, компилятор просто переход к телу этого метода в нужном классе (путь до класса ему известен) и выполняет его (тело метода). Потом возвращается обратно, в точку вызова метода. Вроде всё в рамках обычного программирования.
P_Alexander, Хотя можно было уважать других людей, и поправить свой вопрос. И проверить всё, что напИсал, перед тем, как опубликовать. Как такие только с людьми работают!
По адроиду - нету курсов (я не встречал), а вот по андроиду - видел пару штук. Кроме всего есть пару неплохих книг. Но это тысячу раз здесь спрашивали, пользуйтесь поиском.