设置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.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) 我怎么能初始化Array的ArrayList<String>?
我尝试了这种语法,但它不起作用:
ArrayList<String>[] subsection = new ArrayList<String>[4];
Run Code Online (Sandbox Code Playgroud) 我写了一个试图测试两件事的测试:
ArrayList我对结果感到惊讶
Integervs int)并不比原始版本慢得多ArrayLists的速度是相应数组的两倍多.ArrayList这么慢? 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) 我正在尝试从一个被调用的方法中设置项目,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) 嗨,我之间没有一个明确的想法,
List<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)
和
ArrayList<String> list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud) 我有一个用户列表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) 如果我们有一个Type [],我们只能在其中存储Type或其子类型.ArrayList也是如此.那么为什么说一个是同质的而另一个不是呢?
我有两个问题.首先,请考虑以下代码.
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) 面临的挑战是找到一个数字,该数字的各个数字乘以连续增加的幂并相加,等于初始数字。
例如:取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的,似乎无法在代码中找到问题。任何提示将不胜感激。
arraylist ×10
java ×10
arrays ×5
collections ×2
string ×2
algorithm ×1
android ×1
grid-layout ×1
jtable ×1
performance ×1
static ×1
swing ×1