Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java—如何使集合中的某个对象在索引0处返回;_Java - Fatal编程技术网

Java—如何使集合中的某个对象在索引0处返回;

Java—如何使集合中的某个对象在索引0处返回;,java,Java,假设我们有一套 public Set<CarPartDto> carpart 我们如何制作一个列表,将第一个索引或索引0返回到所需的对象(比如制造商) 这样的预期结果 "manufacturer": nissan, "type": "sedan", "colour": "black", "torque": 139, "maxSpeed": 200,

假设我们有一套

public Set<CarPartDto> carpart
我们如何制作一个列表,将第一个索引或索引0返回到所需的对象(比如制造商)

这样的预期结果

            "manufacturer": nissan,
            "type": "sedan",
            "colour": "black",
            "torque": 139,
            "maxSpeed": 200,
            "type": "sedan",
            "colour": "black",
            "torque": 139,
            "maxSpeed": 200,
            "manufacturer": nissan
实际效果是这样的

            "manufacturer": nissan,
            "type": "sedan",
            "colour": "black",
            "torque": 139,
            "maxSpeed": 200,
            "type": "sedan",
            "colour": "black",
            "torque": 139,
            "maxSpeed": 200,
            "manufacturer": nissan

我是这个领域的新手。请帮忙

我无法发表评论,因此:

看起来您想对类型进行排序,只需将类更改为

public class CarPartDto {

 public String manufacturer;
 public String type;
 public String colour;
 public Long torque;
 public Long maxSpeed;
}
或者,您可以在类中创建一个方法,然后返回所需的格式对象:

        public String getCarInfo(){

        return "manufacturer: " + manufacturer + "\ntype: " + type + "\ncolour: "+colour + "\ntorque: " + torque + "\nmaxSpeed: " + maxSpeed;
    }
只回答标题Java——我们如何使集合中的某个对象在索引0处返回; 集合通常没有用户友好的顺序作为设计目标,尽管有些实现确实有:TreeSet按其自然顺序返回其元素,LinkedHashSet按其插入的顺序返回其元素。 你可以用一个简单的代码,比如

Random r=new Random();
Set<Integer> treeset=new TreeSet<Integer>();
Set<Integer> linked=new LinkedHashSet<Integer>();
Set<Integer> simple=new HashSet<Integer>();
for(int i=0;i<10;i++){
    int n=r.nextInt(100);
    System.out.print(n+", ");
    treeset.add(n);
    linked.add(n);
    simple.add(n);
}
System.out.println();
for(Object i:treeset.toArray())
  System.out.print(i+", ");
System.out.println();
for(Object i:linked.toArray())
  System.out.print(i+", ");
for(Object i:simple.toArray())
  System.out.print(i+", ");
-第一行是一组随机数,第二行是树集,有序,第三行是LinkedHashSet,保留输入顺序,最后一行是HashSet,具有任意顺序


因此,如果您的问题与Set-s有关,而在撰写本文时似乎并非如此,那么您可以通过使用LinkedHashSet并首先添加该元素来强制执行第一个元素,或者更为深奥的方法是选择/创建具有适当顺序的元素类——也许是这样。但问题更可能与打印一个对象有关,这是代码中某个类似于toString的方法。

听起来像是要将汽车信息打印为字符串。在这种情况下,您需要重写CarPartsTo类中的toString方法

@Override
public String toString() {
    return "Manufacturer: " + manufacturer + "\n" +
            "Type: " + type + ",\n" +
            "Colour: " + colour + ",\n" +
            "Torque: " + torque + ",\n" +
            "MaxSpeed: " + maxSpeed;
}
要调用它,只需在不使用任何方法或使用toString方法的情况下调用对象

for (CarPartDto car : cars) {
    System.out.println(car);
}
此外,如果您需要任何其他形式的信息,您也可以编写自己的方法,并在本例中以您需要的任何格式返回字符串:

public String returnCarInfo(){
    return "Type: " + type + ",\n" +
            "Colour: " + colour + ",\n" +
            "Torque: " + torque + ",\n" +
            "MaxSpeed: " + maxSpeed + ",\n" +
            "Manufacturer: " + manufacturer;
}
并使用该方法调用它

System.out.println(car.returnCarInfo());

希望这有帮助

你有一套。你说的是制作一个列表和索引。你到底想做什么?返回carpart.toArray[0];“第一个索引”是指要首先返回类型?在打印时?你真的能发布你是如何得到上述结果的吗?你刚打印出来吗?请在上下文中发布所有代码。如果您了解自己想要做什么,这对每个人都是最好的。我读过的书有一半没有任何意义。根据您在预期输出中写入的内容,那么为什么不编写一个方法来为您打印这些变量值呢?适当地编辑您的问题。为什么您要依赖于您的输出声明的顺序?实际上,更好的方法是创建一个方法,或者更好的方法是重写对象的toString方法。@Kenny Steegmans我不知道,我总是创建一个自定义方法。但是这个问题解释得太糟糕了,我认为他有一些打印对象的代码,一个简单的重组就可以帮他解决这个问题。我应该去掉第一部分吗?