获取此列表中每个数组的大小

时间:2018-09-26 05:07:56

标签: java arraylist

我将这两个ArraysList插入了此List

    ArrayList<String> category = new ArrayList<>();
    ArrayList<Integer> number = new ArrayList<>();
    List list = new ArrayList<>();

    category.add("cat");
    category.add("dog");
    category.add("fish");
    category.add("Hamster");

    number.add(1);
    number.add(2);
    number.add(3);
    number.add(4);

    list.add(category);
    list.add(number);

现在如何获取此列表中每个数组的大小?

4 个答案:

答案 0 :(得分:5)

尝试这样

 int sizeOfCategory = category.size();
 int sizeOfNumber = number.size();

OR

    for(Object li : list) {
        System.out.println(((List) li).size());
    }

答案 1 :(得分:1)

使用ArrayList从列表中删除get方法的结果对象。

for(int i=0; i<list.size(); i++) {
   System.out.println(((ArrayList)list.get(i)).size());
}

答案 2 :(得分:0)

检查对象instanceOf,如果它是您添加的ArrayList类型,则将其向下转换为ArrayList并获取大小。

list.add(category);
list.add(number);
for (Object o : list) {
    if (o instanceof ArrayList) {
        System.out.println(((ArrayList) o).size());
    } else {
         // unknown type
    }
}

如果需要,您也可以获取列表项类型。

System.out.println("Object is type of " + o.getClass());

答案 3 :(得分:0)

问题是您正在使用List中的raw typ。如果您使用list的{​​{3}} T来声明List<T>,而size()提供了一种List方法,那么您将自己得到它。使用原始类型的接口Object将返回类型size()的元素-因此,没有list方法。

由于ArrayList包含T的两个实例,因此有一些ArrayList<?>可用的候选者。例如:

  • List<?>
  • Collection<?>
  • category

这取决于您需要处理内部列表(numberCollectiion<?>)。如果只需要它们的大小,那么System.out.println(list.get(0).size()); // 4 System.out.println(list.get(1).size()); // 4 就足够了。

Integer

由于内部列表使用String<?>作为其类型,因此在替换通配符String方面没有太多共同之处。 IntegerComparable都实现了List<Collection<? extends Comparable<?>>> list,但只能与它们自己类型的实例进行比较。因此,声明list不会产生任何附加值。因此,使list包含两个不同类型的内部列表而没有有用的公共类型,将renderOperator = (value, index, record) => { const edit = <Link exact="true" to="/table/basic-table2/articles">编辑</Link>; const context = {}; return ( <div> <Router context={context}> <span> {edit} </span> </Router> <a style={styles.removeBtn} onClick={this.deleteItem.bind(this, record)} > 删除 </a> </div> ); }; 的可用性限制为不需要内部列表元素的具体类型的情况。


进一步阅读:generic type