Метод заполняет* либо весь массив, либо, как показывают две последние команды, диапазон его элементов. Но, поскольку вызывать Arrays.fill() можно только для одного значения данных, полученные результаты не слишком полезны.
Генераторы данных
Чтобы создавать менее тривиальные массивы данных с более гибкими возможностями, мы воспользуемся концепцией
В этом разделе будут представлены некоторые готовые генераторы, но вы также сможете легко определить собственный генератор для своих потребностей.
Для начала рассмотрим простейший набор счетных генераторов для всех примитивных типов и String. Классы генераторов вложены в класс Counting-Generator, чтобы они могли обозначаться именами генерируемых объектов. Например, генератор, создающий объекты Integer, будет создаваться выражением new CountingGenerator.Integer():
//: net/mi ndvi ew/uti1/Counti ngGenerator.java // Простые реализации генераторов, package net.mi ndvi ew.uti1;
public class CountingGenerator {
public static class
Boolean implements Generatorjava.lang.Boolean> { private boolean value = false; public java.lang.Boolean nextO {
value = lvalue; // Поочередное переключение return value;
}
}
public static class
Byte implements Generator
public java.lang.Byte nextO { return value++; }
}
static char[] chars = ("abcdefghijklmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();
public static class
Character implements Generator
public java.lang.Character nextO {
index = (index + 1) % chars.length; return chars[index];
}
}
public static class
String implements Generator
Generator
public String(int length) { this.length = length; } public java.lang.String nextO {
char[] buf = new char[length]; for(int i = 0; i < length; i++)
buf[i] = eg.nextO; return new java.lang.String(buf);
}
}
public static class
Short implements Generator
public java.lang.Short nextO { return value++; }
}
public static class
Integer implements Generator
public java.lang.Integer nextO { return value++; }
}
public static class
Long implements Generator
public java.lang.Long nextO { return value++; }
}
public static class
Float implements Generator
}
}
public static class
Double implements Generator java. lang Double> { private double value = O.'O; public java.lang.Double nextO { double result = value; value += 1.0; return result;
}
}
} ///:-