Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
17.12.2017
Размер:
3.8 Кб
Скачать
package lab2_java;

import java.util.Date;
import java.util.Random;
import java.util.ArrayList;
import java.util.LinkedList;

enum Moving { moving_to_post, passed, not_passed }

public class Car {

private String model;
private int speed;
private Radio radio;
private Moving moving;


Car(){
this.model = "Unknown";
this.speed = 50;
this.radio = new Radio();
this.moving = Moving.moving_to_post;
}

Car(String model, int speed, Radio radio){
this.model = model;
this.speed = speed;
this.radio = radio;
this.moving = Moving.moving_to_post;
}

int getSpeed(){
return this.speed;
}

void Move(Moving moving){
this.moving = moving;
}

void Random(){
Random random = new Random();
this.model = "car" + random.nextInt(100000);
this.speed = random.nextInt(300);
this.radio = new Radio(random.nextBoolean(), "rad" + random.nextInt(100));
}

static ArrayList<Car> Random_ArrayList(int count){
ArrayList<Car> cars = new ArrayList<Car>();
ArrayList<Integer> time = new ArrayList<Integer>();

for (int i = 0; i < count; ++i){
Car car = new Car();
car.Random();
int start = (int)System.nanoTime();
cars.add(car);
int end = (int)System.nanoTime();
Log.NoTimePrint("add, ID = " + i + ", " + (end - start) + "\n");
time.add(end - start);
}
Log.NoTimePrint("addTotalCount = " + count + "\n");
long totalTime = 0;
for (int i : time){
totalTime += i;
}
Log.NoTimePrint("addTotalTime = " + totalTime + "\n");
long medianTime = totalTime / (count);
Log.NoTimePrint("addMedianTime = " + medianTime + "\n");

Random random = new Random();

for (int i = 0; i < (count / 10); ++i){
int n = random.nextInt(4);
int start = (int)System.nanoTime();
cars.remove(n);
int end = (int)System.nanoTime();
Log.NoTimePrint("remove, ID = " + n + ", " + (end - start) + "\n");
time.add(end - start);
}
Log.NoTimePrint("removeTotalCount = " + (count / 10) + "\n");
totalTime = 0;
for (int i : time){
totalTime += i;
}
Log.NoTimePrint("removeTotalTime = " + totalTime + "\n");
medianTime = totalTime / count;
Log.NoTimePrint("removeMedianTime = " + medianTime + "\n");

return cars;
}

static LinkedList<Car> Random_LinkedList(int count){
LinkedList<Car> cars = new LinkedList<Car>();
ArrayList<Integer> time = new ArrayList<Integer>();

for (int i = 0; i < count; ++i){
Car car = new Car();
car.Random();
int start = (int)System.nanoTime();
cars.add(car);
int end = (int)System.nanoTime();
Log.NoTimePrint("add, ID = " + i + ", " + (end - start) + "\n");
time.add(end - start);
}
Log.NoTimePrint("addTotalCount = " + count + "\n");
long totalTime = 0;
for (int i : time){
totalTime += i;
}
Log.NoTimePrint("addTotalTime = " + totalTime + "\n");
long medianTime = totalTime / (count);
Log.NoTimePrint("addMedianTime = " + medianTime + "\n");

Random random = new Random();

time.clear();

for (int i = 0; i < (count / 10); ++i){
int n = random.nextInt(4);
int start = (int)System.nanoTime();
cars.remove(n);
int end = (int)System.nanoTime();
Log.NoTimePrint("remove, ID = " + n + ", " + (end - start) + "\n");
time.add(end - start);
}
Log.NoTimePrint("removeTotalCount = " + (count / 10) + "\n");
totalTime = 0;
for (int i : time){
totalTime += i;
}
Log.NoTimePrint("removeTotalTime = " + totalTime + "\n");
medianTime = totalTime / count;
Log.NoTimePrint("removeMedianTime = " + medianTime + "\n");

return cars;
}

String toStr_Car() {
return "\nМарка: " + this.model + " Скорость: " + this.speed + radio.toStr() + "\n";
}

}
Соседние файлы в папке lab2_java