Добавление элемента в середине scala.collection.immutable.list в Java - PullRequest
2 голосов
/ 06 июля 2011

Я использую неизменный список scala в Java.Я хочу добавить элемент в середине этого списка.Может кто-нибудь помочь мне в этом, пожалуйста?Спасибо

Ответы [ 3 ]

6 голосов
/ 06 июля 2011

Пусть sList будет списком Scala, пусть List будет типом списка Scala и 42 добавляемый элемент:

final int half = sList.size /2;
final List<Int> first = sList.take(half);
final List<Int> second = sList.drop(half);
final List<Int> result = first.$colon$colon$colon( second.$colon$colon( 42 ) );
2 голосов
/ 06 июля 2011

Неясный ответ на неопределенный вопрос:

Есть несколько способов разбить неизменный список, например, используя take и drop. Из частей (включая ваши средние элементы) вы можете собрать новый неизменный список, например, используя :::, который должен называться $colon$colon$colon в Java, IIRC.

Пожалуйста, добавьте код, если вам нужно больше деталей.

0 голосов
/ 06 июля 2011

Хммм ... вы используете неизменный список.Значение слова «неизменный» заключается в том, что его нельзя изменить - если есть способ добавить элемент в середину такого списка, это будет ошибкой.

Редактировать : на самом деле, возможно, есть способы добавить элементы в такой список - возможно, с этим справятся соответствующие данные на уровне JVM - но это все равно будет плохо, потому что любая другая программа, использующая неизменный список, ожидает этот списоквсегда оставаться прежним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...