2017-07-25 1 views
-3

Ich habe eine Arraylist typisiertenSplit eine Arraylist in Java in zwei Teil-Listen beim Auftreten eines speziellen Charakter

List<ABC> DbList = new ArrayList<ABC>(); 

wo ABC die Entity-Klasse ist

@SuppressWarnings("serial") 
@Entity 
@Table(name = "pg_database") 
public class ABC implements Serializable { 

@Id 
private String datname; 

Die Inhalte sind so etwas wie:

Xyz_2015

Abc_2016

und so weiter.

Ich beabsichtige, diese Arraylist in zwei Teil-Listen aufgeteilt, wo die erste Liste enthält: Xyz

Abc und so weiter

und die zweite Liste enthält nur die Jahre. Ich möchte auch "_"

loswerden Ideen, wie ich die Lösung angehen sollte?

+4

Was 'ABC' ist? Wie wird 'Xyz_2015' in dieser Klasse dargestellt? Zeigen Sie auch, was Sie versucht haben und erklären Sie, wo Sie stecken geblieben sind. SO ist kein kostenloser Codierdienst. – shmosel

+0

Schleife Arraylist dann teilen Sie es dann einfügen in Unterliste. –

+0

@shmosel: ABC ist meine Entitätsklasse, wobei die Daten aus einer Tabelle ABC stammen. Bisher habe ich versucht, nach Möglichkeiten zu suchen, den Inhalt einer Liste aufzuteilen, konnte aber nichts finden, was mir Anhaltspunkte gab. Also wäre jede Idee, wie es gemacht wird, eine große Hilfe, um mich zu beginnen. –

Antwort

1

Wenn Sie auf zwei Listen von Strings Liste von Entinites aufzuspalten Sie nutzen könnten:

ArrayList<String> names = new ArrayList<>(); 
ArrayList<String> years = new ArrayList<>(); 
    for(ABC item : list) { 
     String[] subs = item.getDatname().split("_"); 
     names.add(subs[0]); 
     years.add(subs[1]); 
    } 

Unter der Annahme, list ist ein ArrayList<ABC>