当前位置: 首页 > 知识库问答 >
问题:

Java如何初始化列表[duplicate]

申屠涛
2023-03-14

这是我第一次使用列表。我有一个名为Foods的类,我想用它做一个动态列表。我写了第一行,您可以看到下面,然后有很多方法刚刚弹出,我需要重写。我应该在每种方法中写些什么?或者这是制作列表实例的正确方法吗?

public List<Foods> food = new List<Foods>() {

    //then these list of methods just popped out//

    @Override
    public int size() {
        return 0;
    }

    @Override
    public boolean isEmpty() {
        return false;
    }

    @Override
    public boolean contains(Object o) {
        return false;
    }

    @NonNull
    @Override
    public Iterator<Foods> iterator() {
        return null;
    }

    @NonNull
    @Override
    public Object[] toArray() {
        return new Object[0];
    }

    @NonNull
    @Override
    public <T> T[] toArray(@NonNull T[] ts) {
        return null;
    }

    @Override
    public boolean add(Foods foods) {
        return false;
    }

    @Override
    public boolean remove(Object o) {
        return false;
    }

    @Override
    public boolean containsAll(@NonNull Collection<?> collection) {
        return false;
    }

    @Override
    public boolean addAll(@NonNull Collection<? extends Foods> collection) {
        return false;
    }

    @Override
    public boolean addAll(int i, @NonNull Collection<? extends Foods> collection) {
        return false;
    }

    @Override
    public boolean removeAll(@NonNull Collection<?> collection) {
        return false;
    }

    @Override
    public boolean retainAll(@NonNull Collection<?> collection) {
        return false;
    }

    @Override
    public void clear() {

    }

    @Override
    public Foods get(int i) {
        return null;
    }

    @Override
    public Foods set(int i, Foods foods) {
        return null;
    }

    @Override
    public void add(int i, Foods foods) {

    }

    @Override
    public Foods remove(int i) {
        return null;
    }

    @Override
    public int indexOf(Object o) {
        return 0;
    }

    @Override
    public int lastIndexOf(Object o) {
        return 0;
    }

    @NonNull
    @Override
    public ListIterator<Foods> listIterator() {
        return null;
    }

    @NonNull
    @Override
    public ListIterator<Foods> listIterator(int i) {
        return null;
    }

    @NonNull
    @Override
    public List<Foods> subList(int i, int i1) {
        return null;
    }
};

共有1个答案

张亦
2023-03-14

list是一个接口,如果直接使用new,则必须将其实现为一个匿名类(上面的代码)。

相反,您可以使用提供的implementionsjava.util包,例如ArrayList和LinkedList,您可以像这样启动它:

public List<Foods> food = new ArrayList<>():

public List<Foods> food = new LinkedList<>():
 类似资料:
  • 考虑如下代码: vector<double> v = { 1, 2, 3.456, 99.99 }; list<pair<string,string>> languages = { {"Nygaard","Simula"}, {"Richards","BCPL"}, {"Ritchie","C"} }; map<vector<string>,vector<int>> years = {

  • 你好,我想在一行中初始化列表的列表 谢谢

  • 我需要创建一个可用的电视频道列表(用整数标识)。我想首先创建int[]list=5,9,12,19,64。代码如下: 但是我得到了一个语法错误,指出在“=”后面需要一个{。我想要一个电视频道列表,用户一旦打开电视就可以使用。

  • 问题内容: 错误 码 问题答案: 您需要初始化 ,如错误消息所示,您仅对其进行了声明。 您需要初始化数组,以便可以 在 开始设置索引 之前 为元素分配正确的内存存储。 __ 如果 仅 声明数组(如您所做的那样),则不会为元素分配内存,而只会分配给的引用句柄,并且尝试在任何索引处初始化变量时都会引发错误。 另外,您也可以在花括号内初始化数组,这样, 相当于

  • 问题内容: 我打算初始化一个长度为n的列表列表。 但是,这以某种方式将列表链接在一起。 我希望有这样的东西: 有任何想法吗? 问题答案: 问题在于它们在内存中都是完全相同的列表。当使用语法时,得到的是n许多x对象的列表,但是它们都是对同一对象的引用。它们不是不同的实例,而是n对同一实例的引用。 要列出3个不同的列表,请执行以下操作: 这为你提供了3个单独的实例,这是你想要的 类似于 虽然类似于:

  • 问题内容: 我想初始化一个多维列表。基本上,我想要一个10x10的网格-10个列表的列表,每个列表包含10个项目。 每个列表值都应初始化为整数0。 单行执行此操作的明显方法:将不起作用,因为它会生成一个包含10个引用的列表,该列表引用一个列表,因此更改任何行中的项都会更改所有行中的项。 我看过的文档讨论了用于复制列表的方法,但是在使用乘法器时仍然无法使用:与效果相同。 除了创建s循环之外,是否有一