Java 如何正确使用ArrayList?
好的,所以使用ArrayList对我来说是第一次,我会先咨询我的老师或朋友寻求帮助……但这是一门在线课程,所以提问永远需要时间,到目前为止,我是整个学校中唯一一个选修这门课的学生(这是一所相当小的学校) 无论如何,这是如此简单,这是荒谬的(我想对你来说),但它摆脱了下划线的东西…所以我猜我错过了一个关键的组成部分Java 如何正确使用ArrayList?,java,arrays,list,Java,Arrays,List,好的,所以使用ArrayList对我来说是第一次,我会先咨询我的老师或朋友寻求帮助……但这是一门在线课程,所以提问永远需要时间,到目前为止,我是整个学校中唯一一个选修这门课的学生(这是一所相当小的学校) 无论如何,这是如此简单,这是荒谬的(我想对你来说),但它摆脱了下划线的东西…所以我猜我错过了一个关键的组成部分 public class EmployeeProjectView extends FrameView { 例如,以这一行为例……这个程序的开头,company带红色下划线(我正在使用
public class EmployeeProjectView extends FrameView {
例如,以这一行为例……这个程序的开头,company
带红色下划线(我正在使用netbeans),我不知道为什么,它可以作为String
正常工作,所以我的问题是……它是否总是必须定义为String
/** Define the ArrayList */
ArrayList<company> employee = new ArrayList<company>();
public EmployeeProjectView(SingleFrameApplication app) {
}// </editor-fold>
新的字符串
带红色下划线
c = new String(ID, firstName, lastName, salary, date);
employee.add(c);
}
private void listButtonActionPerformed(java.awt.event.ActionEvent evt) {
//Code here gets listed in Field...
}
ArrayList
需要介于
之间的类型。字符串是一种类型,在您的示例中,公司似乎是一个变量。员工名单应该有什么类型?雇员是字符串列表吗?它是某个用户定义类的列表吗?你需要知道这一点
例如:
ArrayList<UserDefinedClass> myList =
new ArrayList<UserDefinedClass>(initialCapacity);
// initialCapacity should be a previously defined int.
// Or
ArrayList<String> someNames = new ArrayList<String>();
// Uses a default capacity of 10 when none is provided.
ArrayList myList=
新阵列列表(初始容量);
//initialCapacity应为先前定义的int。
//或
ArrayList someNames=新的ArrayList();
//如果未提供容量,则使用默认容量10。
其次,String在Java中是一个有趣(但非常方便)的对象。字符串不应该使用new
关键字创建,而应该像int
char
或short
那样指定原语。这是由于一种叫做“字符串实习”的东西,它本身就值得谷歌搜索。要分配字符串,请执行以下操作:
String word=“Strong Bad”代码>
例如,这句话……这个项目的开头是“公司”
下划线是红色的(我正在使用netbeans),我不知道为什么,它可以工作
很好,就像“字符串”一样,所以我的问题是……它总是必须是吗
定义为字符串
不,去读关于泛型的书。ArrayList
可以定义为采用任何类型。因此,只要company
是类名,您的声明就可以了。顺便说一下,类名的第一个字母应始终使用大写,以遵循通常的惯例
根据您的行c=新字符串(ID、firstName、lastName、salary、date)判断代码>您需要了解Java中的对象。字符串是对象的一种类型。请看String类的函数:没有构造函数按照您编码的顺序接受其他字符串作为参数。因此,您无法按照您尝试的方式构造新字符串。您似乎对字符串的初始化方式感到困惑。基本上看,您需要阅读有关构建对象以及类和方法的Java教程。也许您想做:
List<String> c = new ArrayList<String>(5);
c.add(ID);
c.add(firstName);
它的意思是没有公司的定义,所以它不知道做什么数组列表
ArrayList
它确实可以理解,因为它知道字符串的定义
新字符串(ID,…)现在它正在查看一个构造函数的字符串定义,该构造函数包含五个字符串参数,并且
你可能还想多想想自己的名字——一个名为employee的公司的集合肯定会把你带到一个糟糕的地方。名为Date和Salary的字符串也不是一件好事。以下内容可能会对您有所帮助
ArrayList<Company> employee=new ArrayList<Company>();
Company employee1=new Company();
employee1.setId(id)
employee1.setFirstname(firstname);
employee1.setSalary(salary);
employee1.setDate(dates);
employee.add(employee1);
(您可以在Netbeans中通过右键单击->插入代码->setter和getter来实现这一点)
干杯,@Que。。你有一个班叫“公司”吗?哎哟,只有我一个人,还是这个答案听起来有点敌意?@BlackPlanet,这不是我的本意。但在我提交之前,我没有重读我的帖子。但经过编辑,听起来不那么敌对。编辑:更好?我觉得你的编辑和你的第一个答案差不多,但不管哪个=P谁在乎?@Que至少这是诚实的。我不认为为您编写代码会有多大帮助。我回答了你的问题,你为什么会犯错误。我还告诉过你应该学习什么概念来理解为什么会出现错误。这比给你一个精确的代码样本来解决你的问题要有用得多,我不会这么做。@KyleM和我尊重这一点,我并没有要求为我编写正确的代码(不过……老实说,作为一名学生,这是一个额外的好处)
Arrays.asList("Larry", "Moe", "Curly");
ArrayList<Company> employee=new ArrayList<Company>();
Company employee1=new Company();
employee1.setId(id)
employee1.setFirstname(firstname);
employee1.setSalary(salary);
employee1.setDate(dates);
employee.add(employee1);
class Company {
String id,firstname,lastname,salary,dates;
//setter getter method