比方說,你得到的每個記錄作爲一個String作爲我在下面所提到並從那裏你可以分割的所有數據如下:
創建一個類,其中包含像動物,顏色和性別作爲下面的所有屬性
class AnimalData // You can give any name
{
String strAnimal, strGender, strColor;
public AnimalData(String strAnimal, String strGender, String strColor)
{
this.strAnimal = strAnimal;
this.strGender = strGender;
this.strColor = strColor;
}
public String getStrAnimal()
{
return strAnimal;
}
public String getStrGender()
{
return strGender;
}
public String getStrColor()
{
return strColor;
}
}
現在目前我使用的如上你從數據庫中獲取包含數據3靜態變量,你需要以下變量
01,而不是使用它們的這些
String strAnimalData[] = {"Cat","Cat","Dog","Dog"};
String strGenderData[] = {"Male","Female","Male","Female"};
String strColorData[] = {"White,Black,Brown","White","Black,Yellow","Black"};
我現在用的一個方法,它會給我造成單從以上數據
public List<AnimalData> getAllAnimalData()
{
List<AnimalData> strAllAnimalData = new ArrayList<>();
for(int i = 0; i < strAnimalData.length; i++)
{
if(strAnimalData[i].indexOf(",") > 0)
{
String strSubAnimalData[] = strAnimalData[i].split(",");
for(int j = 0; j < strSubAnimalData.length; j++)
{
AnimalData ad = new AnimalData(strSubAnimalData[j], strGenderData[i], strColorData[i]);
strAllAnimalData.add(ad);
}
}
else if(strGenderData[i].indexOf(",") > 0)
{
String strSubGenderData[] = strGenderData[i].split(",");
for(int j = 0; j < strSubGenderData.length; j++)
{
AnimalData ad = new AnimalData(strAnimalData[i], strSubGenderData[j], strColorData[i]);
strAllAnimalData.add(ad);
}
}
else if(strColorData[i].indexOf(",") > 0)
{
String strSubColorData[] = strColorData[i].split(",");
for(int j = 0; j < strSubColorData.length; j++)
{
AnimalData ad = new AnimalData(strAnimalData[i], strGenderData[i], strSubColorData[j]);
strAllAnimalData.add(ad);
}
}
else
{
AnimalData ad = new AnimalData(strAnimalData[i], strGenderData[i], strColorData[i]);
strAllAnimalData.add(ad);
}
}
// Below code is just for Display Data
for(AnimalData tempData: strAllAnimalData)
{
System.out.println("\t" + tempData.getStrAnimal() + "\t" + tempData.getStrGender() + "\t" + tempData.getStrColor());
System.out.println("\n");
}
}
注: -目前,這會在每個位置只有一個變量有多個數據的工作,像如果動物在位置1有「貓,狗」,顏色在位置1也有「紅色,棕色」,那麼它只會將動物與顏色分開,因爲你需要在循環內實現相同的邏輯。
顯示您的代碼以獲得更好的幫助 – Vickyexpert
@Vickyexpert現在我不知道該如何完成這項工作。 到目前爲止我發現的是使用[從這裏]遞歸(http://stackoverflow.com/questions/34659643/split-a-string-into-rows-using-pure-sqlite),但我不知道如何將其應用於我的案例。 – Krsnik195
這比SQL更好。 –