Для меня это было решено следующим образом с помощью студии SQL Server Management -Log в качестве администратора (я вошел в систему как проверка подлинности Windows) -Отключить файл mdf (щелкните правой кнопкой мыши Database | attach | Add) -Log out as admin - Войдите как обычный пользователь
Не совсем такой же чистый, как ответ True Soft, но вы можете использовать Google Guava с тем же эффектом:
public class Test {
public static void main(String[] args) {
//one liner
int[] array = toArray(newLinkedList(concat(range(1, 10), range(500, 1000))));
//more readable
Iterable<Integer> values = concat(range(1, 10), range(500, 1000));
List<Integer> list = newLinkedList(values);
int[] array = toArray(list);
}
public static List<Integer> range(int min, int max) {
List<Integer> list = newLinkedList();
for (int i = min; i <= max; i++) {
list.add(i);
}
return list;
}
}
Обратите внимание, что вам нужно несколько статических импортов, чтобы это работало.
Существует доллар :
// build the List 10, 11, 12, 13, 14
List<Integer> list2 = $(10, 15).toList();
maven:
<dependency>
<groupId>org.bitbucket.dollar</groupId>
<artifactId>dollar</artifactId>
<version>1.0-beta3</version>
</dependency>
Что касается первого вопроса, возможно ли заполнить массив значениями диапазона: на самом деле можно достичь этого с помощью комбинации Range , DiscreteDomain , ContiguousSet и Ints из Гуава :
int[] array = Ints.toArray(
ContiguousSet.create(Range.closed(1, 500), DiscreteDomain.integers()));
И, не совсем то, что упоминается во второй части вопроса, но можно создать набор с элементами диапазона дискретной области:
Set<Integer> numbersFrom1To500 =
ContiguousSet.create(Range.closed(1, 500), DiscreteDomain.integers());
Результирующий Set
не будет содержать указанные элементы физически, только логически (поэтому его объем памяти будет небольшим ), но может быть повторен (так как это Set
):
for (Integer integer : numbersFrom1To500) {
System.out.println(integer);
}