Java 是否有任何集合对象包含2个以上元素的组合列表?
是否有收集对象或方法来保存元素的组合 例如,我需要创建一个包含元素名称、年龄、身高和体重组合的列表 在我的例子中,为这个创建一个对象不是一个好主意。因为字段的数量不断变化。 我需要创建此列表以传递给查询 有什么解决方案吗?Java 是否有任何集合对象包含2个以上元素的组合列表?,java,arrays,list,collections,elements,Java,Arrays,List,Collections,Elements,是否有收集对象或方法来保存元素的组合 例如,我需要创建一个包含元素名称、年龄、身高和体重组合的列表 在我的例子中,为这个创建一个对象不是一个好主意。因为字段的数量不断变化。 我需要创建此列表以传递给查询 有什么解决方案吗?class MyContainer{ class MyContainer { String someString; int someInt; } List <MyContainer> myList = new List<>(); 字符串;字符
class MyContainer{
class MyContainer {
String someString;
int someInt;
}
List <MyContainer> myList = new List<>();
字符串;字符串;
int-someInt;
}
List myList=新列表();
差不多吧
我不太清楚,你所说的“在我的情况下,为它创建一个对象不是一个好主意”是什么意思。作为替代方案,您可以创建一个列表
,然后放入您拥有的任何内容,或者如果您想要一个包含多个分组对象的列表,甚至可以放入一个列表。类MyContainer{
字符串;字符串;
int-someInt;
}
List myList=新列表();
差不多吧
我不太清楚,你所说的“在我的情况下,为它创建一个对象不是一个好主意”是什么意思。你也可以创建一个列表
,然后放入你拥有的任何东西,或者如果你想要一个多个分组对象的列表,甚至可以放入一个列表。最好的方法是制作一个包含所有可能元素的对象
class myObject {
String name;
Integer age;
Float weight;
// Etc
}
或者拥有一个基类,然后拥有另一个类,该类使用其他元素扩展该基类
class myExtendedObject extends myObject{
String streetAddress;
String city;
// etc;
}
然后,如果没有元素,请将其设置为null。。。您可以始终从对象本身构建查询,方法是包含一个返回查询的方法,juct检查它是否为null,并且不包括在查询中(假设您指的是sql样式的查询)
另一方面,您可以使用一个方法返回元素的映射,然后您就知道每个元素的类型是基于键的
public Map<String, Object> getElements{
Map<String, Object> myMap = new HashMap<String, Object>();
if(name != null)
myMap.put("Name", name);
// etc
return myMap
}
公共映射元素{
Map myMap=newhashmap();
if(name!=null)
myMap.put(“Name”,Name);
//等
返回我的地图
}
最好的方法是制作一个包含所有可能元素的对象
class myObject {
String name;
Integer age;
Float weight;
// Etc
}
或者拥有一个基类,然后拥有另一个类,该类使用其他元素扩展该基类
class myExtendedObject extends myObject{
String streetAddress;
String city;
// etc;
}
然后,如果没有元素,请将其设置为null。。。您可以始终从对象本身构建查询,方法是包含一个返回查询的方法,juct检查它是否为null,并且不包括在查询中(假设您指的是sql样式的查询)
另一方面,您可以使用一个方法返回元素的映射,然后您就知道每个元素的类型是基于键的
public Map<String, Object> getElements{
Map<String, Object> myMap = new HashMap<String, Object>();
if(name != null)
myMap.put("Name", name);
// etc
return myMap
}
公共映射元素{
Map myMap=newhashmap();
if(name!=null)
myMap.put(“Name”,Name);
//等
返回我的地图
}
使用映射并使用属性名称作为键(例如权重)怎么样?
您可以使用所需的任何属性组合,将此类集合传递给查询将非常方便
考虑是否需要更多的列名键入safety如何使用映射并使用属性名作为键(例如权重)?
您可以使用所需的任何属性组合,将此类集合传递给查询将非常方便
考虑是否需要更多的列名类型安全元素的数量名称、年龄、身高和体重正在发生变化?是什么让它们如此易变,以至于列表中的列表或一个安静灵活的类的任何组合都不可能存储所有这些元素和being以及填充在列表中的元素?我恐怕有更多的信息是关于你试图编码什么来产生实际的建议,因为你排除了对象列表。是的,有时可能是3、4甚至2。所以不总是4个元素。接下来的问题是你想用这些元素做什么。这意味着你计划如何处理它们以供进一步使用。是否有任何理由反对一个装满地图的列表(或你喜欢的任何集合),这样你就可以把你想要存储的信息作为关键,把实际信息作为价值。即使我更喜欢用变量来创建一个类,以获得最大数量的元素,并使用null或空字符串或任何你喜欢的东西。请注意,这个属性不用于所讨论的人。我需要使用这些元素的组合来构建一个查询。我想你总是可以使用一个列表,然后使用instanceOf的一些组合或者getClass和switch case可以随意使用这些内容。但我不认为那种代码会太漂亮。元素的数量名称、年龄、身高和体重都在变化?是什么让它们如此易变,以至于列表中的列表或一个安静灵活的类的任何组合都不可能存储所有这些元素和being以及填充在列表中的元素?我恐怕有更多的信息是关于你试图编码什么来产生实际的建议,因为你排除了对象列表。是的,有时可能是3、4甚至2。所以不总是4个元素。接下来的问题是你想用这些元素做什么。这意味着你计划如何处理它们以供进一步使用。是否有任何理由反对一个装满地图的列表(或你喜欢的任何集合),这样你就可以把你想要存储的信息作为关键,把实际信息作为价值。即使我更喜欢用变量来创建一个类,以获得最大数量的元素,并使用null或空字符串或任何你喜欢的东西。请注意,这个属性不用于所讨论的人。我需要使用这些元素的组合来构建一个查询。我想你总是可以使用一个列表,然后使用instanceOf的一些组合或者getClass和switch case可以随意使用这些内容。但我不认为那种代码会太漂亮。有时我需要3个元素,或者4个元素,就像那样。只有多个不同的元素?然后使用列表!或者类似于列表的东西,有各种各样的…你是如何持有类似列表的东西的?哟