chciałbym wiedzieć, w jaki sposób (jeśli to możliwe) mogę zaprogramować klasy Java przy użyciu układu danych Array of Class
, na przykład:Jak automatycznie przekonwertować z Array z klasy do klasy tablic
public class X{
double a;
double b;
double c;
}
public X array_of_x[SIZE] = new X [SIZE];
ale wewnętrznie dane byłyby przechowywać jako układ Class of Arrays
jak ten:
public class X{
double a[] = new double [SIZE];
double b[] = new double [SIZE];
double c[] = new double [SIZE];
}
public X class_x = new X();
Moim celem jest to, że programista mógłby zaprogramowana w sposób bardziej intuicyjny stylu jak pierwszy, ale wewnętrzny zrobiłbym transformacje więc dane mogą być ciągłe w pamięci, a ja bym to zrobił osiągnąć większą wydajność.
Czy istnieje sposób na zrobienie tego, aby mógł zaakceptować dowolną klasę z pierwszym typem struktury i móc ją przekonwertować na drugie podejście? (lub jakiekolwiek narzędzie, które jest w stanie dokonać tego typu transformacji).
Robię to bardzo często, ale zawsze robię to ręcznie. Byłoby interesujące usłyszeć, co mówią inni. (+1) – NPE
Nie ma sposobu, aby to zrobić, ale dlaczego uważasz, że będzie to szybsze w stopniu wpływającym na wydajność? –
@MiserableVariable: Lepsza lokalizacja odniesienia i bardziej zwarta reprezentacja. Bardzo dużo profilowałem takie rzeczy, aw wielu przypadkach nie ma konkursu. – NPE