标签: arraylist

直接在Java中设置ArrayList的值

设置Java ArrayList的值列表有效:

Integer[] a = {1,2,3,4,5,6,7,8,9};
ArrayList<Integer> possibleValues2 = new ArrayList<Integer>(Arrays.asList(a));
Run Code Online (Sandbox Code Playgroud)

但是,以下操作不起作用,并且具有错误"非法启动类型"以及其他错误.为什么不?由于第一个代码块中的第一行只是赋值,它不应该没有效果吗?

ArrayList<Integer> possibleValues2 = new ArrayList<Integer>(Arrays.asList({1,2,3,4,5,6,7,8,9}));
Run Code Online (Sandbox Code Playgroud)

java arraylist

13
推荐指数
2
解决办法
5万
查看次数

ArrayList索引超出范围

java.lang.IndexOutOfBoundsException如果已预定义ArrayList的大小,为什么在此示例中引发?如何解决这个问题呢?

int size = 2:
ArrayList<Integer[]> nums = new ArrayList<Integer[]>(size);
Integer[] value1 = {1,2,3};
Integer[] value2 = {1,2};
nums.add(1,value1); // java.lang.IndexOutOfBoundsException
nums.add(0,value2);
Run Code Online (Sandbox Code Playgroud)

java arraylist

13
推荐指数
2
解决办法
4万
查看次数

初始化ArrayList数组

我怎么能初始化Array的ArrayList<String>?

我尝试了这种语法,但它不起作用:

ArrayList<String>[] subsection = new ArrayList<String>[4];
Run Code Online (Sandbox Code Playgroud)

java arrays string initialization arraylist

13
推荐指数
3
解决办法
3万
查看次数

ArrayLists的速度是数组的两倍多吗?

我写了一个试图测试两件事的测试:

  • 即使您不使用整个缓冲区,缓冲区数组的大小是否会影响其性能
  • 数组的相对性能和 ArrayList

我对结果感到惊讶

  • 盒装数组(即Integervs int)并不比原始版本慢得多
  • 底层数组的大小并不重要
  • ArrayLists的速度是相应数组的两倍多.

问题

  1. 为什么ArrayList这么慢?
  2. 我的基准写得好吗?换句话说,我的结果准确吗?

结果

 0% Scenario{vm=java, trial=0, benchmark=SmallArray} 34.57 ns; ?=0.79 ns @ 10 trials
17% Scenario{vm=java, trial=0, benchmark=SmallBoxed} 40.40 ns; ?=0.21 ns @ 3 trials
33% Scenario{vm=java, trial=0, benchmark=SmallList} 105.78 ns; ?=0.09 ns @ 3 trials
50% Scenario{vm=java, trial=0, benchmark=BigArray} 34.53 ns; ?=0.05 ns @ 3 trials
67% Scenario{vm=java, trial=0, benchmark=BigBoxed} 40.09 ns; ?=0.23 ns @ 3 trials
83% Scenario{vm=java, trial=0, benchmark=BigList} 105.91 ns; …
Run Code Online (Sandbox Code Playgroud)

java arrays performance arraylist

13
推荐指数
1
解决办法
2308
查看次数

将arrayList数据加载到JTable中

我正在尝试从一个被调用的方法中设置项目,FootballClub到目前为止它很好.但后来我从它创建了一个arrayList,我不知道怎么找不到将这些信息存储到JTable中的方法.问题是我找不到设置固定行数的方法

这是我的代码:

类StartLeague:

import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class startLeague implements LeagueManager{

//setting the frame and other components to appear

public startLeague(){
    JButton createTeam = new JButton("Create Team");
    JButton deleteTeam = new JButton("Delete Team");

    JFrame frame = new JFrame("Premier League System");
    JPanel panel = new JPanel();
    frame.setSize(1280, 800);
    frame.setVisible(true);
    frame.add(panel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    String col[] = {"Pos","Team","P", "W", "L", "D", "MP", "GF", "GA", "GD"};

    panel.setLayout(new GridLayout(20, 20));
    panel.add(createTeam);
    panel.add(deleteTeam);
    panel.add(new JLabel(""));
    //JLabels to fill the space
    }
    } …
Run Code Online (Sandbox Code Playgroud)

java swing jtable arraylist grid-layout

13
推荐指数
2
解决办法
9万
查看次数

13
推荐指数
2
解决办法
2万
查看次数

如何在ArrayList中存储ExpandableListView的选定项

我有一个用户列表ExpandableListView,现在我有2组列表,现在我正在尝试创建一个ArrayList将添加数据,因为我点击用户,所以如果有2组学校,我点击一个每个人的学生我应该在我的阵列中有2个位置,每个组包含其各自的用户一个,我的问题是,我的阵列有2个位置,但它不是分开学生:

我想要的是这个:

学校A:

student1被选中

STUDENT2

student3入选

学校B:

student4

student5入选

结果如下:

[0] - >学生1,3 [1] - >学生5

这是我到目前为止尝试的内容:

mGpsEscolas = new GPSEscolas();
mArrayEscolas = new ArrayList<GPSEscolas>();
aMap = new HashMap<String, GPSEscolas>();

ExpandList.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
    @Override
    public boolean onChildClick(final ExpandableListView parent, View v, final int groupPosition, final int childPosition, final long id) {
        ExpAdapter.setClicked(groupPosition, childPosition);

        index = parent.getFlatListPosition(ExpandableListView.getPackedPositionForChild(groupPosition, childPosition));
        parent.setItemChecked(index, true);
        parent.setSelectedChild(groupPosition, childPosition, true);
        parent.getChildAt(index);

        IdAlunos = String.valueOf(mMainRest.mArrayList.get(groupPosition).getalunos().get(childPosition).getId_aluno());
        IdEscola = String.valueOf(mMainRest.mArrayList.get(groupPosition).getId_escola());

        ids_alunos.add(IdAlunos);


        notificar.setOnClickListener(new View.OnClickListener() {
            @Override
            public void …
Run Code Online (Sandbox Code Playgroud)

java arrays android arraylist multidimensional-array

13
推荐指数
1
解决办法
2063
查看次数

Java数组是同构的是什么意思,但ArrayLists不是?

如果我们有一个Type [],我们只能在其中存储Type或其子类型.ArrayList也是如此.那么为什么说一个是同质的而另一个不是呢?

java arrays collections arraylist data-structures

13
推荐指数
1
解决办法
2万
查看次数

什么时候add()方法在集合中添加对象

我有两个问题.首先,请考虑以下代码.

public class Test{
    private static final List<String> var = new ArrayList<String>() {{
        add("A");
        add("B");
        System.out.println("INNER : " + var);
    }};

    public static void main(String... args){
        System.out.println("OUTER : " + var);
    }   
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,它给出了我的输出

INNER : null
OUTER : [A, B]
Run Code Online (Sandbox Code Playgroud)

任何人都可以详细说明为什么INNER在确定"A"和"B"添加到的时候为什么是null和执行collection?

其次,我在上面的代码中做了一些修改并修改为一个以下(只是把add方法放在第一个括号内)

public class Test{
    private static final List<String> var = new ArrayList<String>() {
        public boolean add(String e) { 
            add("A");
            add("B");
            System.out.println("INNER : " + var); return true; 
        };
    };

    public static void main(String... args){ …
Run Code Online (Sandbox Code Playgroud)

java collections static arraylist

13
推荐指数
2
解决办法
633
查看次数

使用数组列表获取错误的输出

面临的挑战是找到一个数字,该数字的各个数字乘以连续增加的幂并相加,等于初始数字。

例如:取89,将其分为8和9,然后 8^1 + 9^2 = 89

static List<Integer> sumDigPow(int a, int b) { 
        List<Integer> eureka = new ArrayList<Integer>(0);
        List<String> digits = new ArrayList<String>();
        String num;
        int sum = 0, multi;

    for (int i=a; i<=b; i++) {
        num = String.valueOf(i);
        digits.add(num);

        for (int j=0; j<digits.size(); j++) {
                multi = (int)Math.pow(Integer.parseInt(digits.get(j)), j+1);
                sum += multi;
        }

        if (sum == i) eureka.add(i);

        sum = 0;
        digits.clear();
    }

    return eureka;
}
Run Code Online (Sandbox Code Playgroud)

输入1和100(范围)时,输出应为[1、2、3、4、5、6、7、8、9、89],但是我得到了所有数字[1, 2 ... 100]。

我是最近才开始学习Java的,似乎无法在代码中找到问题。任何提示将不胜感激。

java arrays string algorithm arraylist

13
推荐指数
2
解决办法
253
查看次数