从一个列表中保存并获得3个整数和一个字符串

时间:2013-06-11 21:49:30

标签: java list minecraft bukkit

您好我正在为Minecraft bukkit制作一个新的插件,但我必须列出其中包含位置的玩家。

所以我想要制作一个包含3个整数和一个字符串的列表。 3个整数用于位置,字符串用于玩家名称。

但如何创建一个包含3个整数和一个字符串的列表,然后如何在玩家名称上找到这些内容呢?

示例: 我保存了3个整数和我的玩家名称 12,20,10这些是坐标 nobleleader13245这是我的球员名字

现在我将这些东西保存到列表中,我想恢复坐标 所以我搜索列表中的playername但是我该怎么做?

很抱歉,如果我的例子很糟糕,或者我的英语不好,我希望有人可以帮助我。

编辑:

所以现在我有代码tieTYT建议我它的工作,但现在我需要从列表中取回它。 我该怎么做?

所以我认为我必须通过列表查看并将发件人名称与列出的玩家进行比较,如果其中一个是相同的,那么获取整数但是如何?抱歉,我是Java的小伙伴,但我试着学习它!

1 个答案:

答案 0 :(得分:2)

你要做的不是惯用的。相反,创建一个包含3个整数和1个字符串的类,然后将此类添加到List中。

你要问的唯一方法就是不要在列表中放置泛型,如下所示:

package com.sandbox;

import java.util.ArrayList;
import java.util.List;

public class Sandbox {

    public static void main(String[] args) {
        List rawInput = new ArrayList();
        rawInput.add(1);
        rawInput.add(2);
        rawInput.add(3);
        rawInput.add("s");                
    }

}

而且,尽管这是编译,但它很糟糕,并且有充分的理由给你警告。相反,建立一个这样的类:

package com.sandbox;

import java.util.ArrayList;
import java.util.List;

public class Sandbox {

    public static void main(String[] args) {
        List<Character> rawInput = new ArrayList<Character>();
        rawInput.add(new Character("Foo", new Location(1, 2, 3)));        
    }

    public static class Character {

        private String name;

        private Location location;
        public Character(String name, Location location) {
            this.name = name;
            this.location = location;
        }
    }

    public static class Location {
        private int x;
        private int y;
        private int z;

        public Location(int x, int y, int z) {
            this.x = x;
            this.y = y;
            this.z = z;
        }
    }

}