ArrayList集合
是java中最常用的一种集合。相当于我们学过数据结构中的:顺序表(线性结构的顺序实现)。底层使用数组实现的。
在C语言学习数据结构中,我们用代码实现了,顺序表的增删改查。
而在java中这些方法都已经封装好了,我们直接用就好。
并且ArrayList还有自动扩容机制,当分配的内存空间不够是,它会自动进行扩容。
下面是ArrayList的增删改查操作。
**//增加类**
//Collection父接口中,将对象添加到末尾
boolean add(Object o);
//在指定位置[数组下标]上添加一个对象,原数据后移
void add(int index,Object o);
//将集合c中所有的元素添加给该集合,方便拼接
boolean addAll(Collection c);
//在列表中指定位置加入指定集合
boolean addAll(int index,Collection c);
**//删除类**
//删除指定位置的元素
Object remove (int index);
//删除列表中所有元素
boolean clear();
//从集合中删除c集合中也有的元素
void removeAll(Collection c);
//从集合中删除集合c中不包含的元素
void retainAll(Collection c);
**//改类**
//用元素element取代位置index上的元素,返回被取代的元素
Object set(int index,Object element);
**//查询类**
//返回List中指定位置的元素
Object get(int index);
**//此外还常用的方法有**
//返回第一个出现元素o的位置.
int indexOf(Object o);
//判断列表中是否包含元素
boolean contains(Object o);
//返回当前集合中元素的数量
int size();
//返回该列表实例的一个拷贝,注意改方法,clone()是ArrayList的受保护的方法,
//所以调用者必须是ArrayList,如果是list要强转。返回类型Object也要强转。
Object clone();
list集合的遍历
大概就是两种,
一种是迭代器法,(list的foreach底层也是用的迭代器);
for(Iterator<String> it = list.iterator(); it.hasNext(); ) {
it.next();
}
for(Object data : list) {
}
一种是for循环法,类似于数组,不过取元素的时候要用get()方法;
for(int i; i<list.length(); i++){
list.get(i);
}
这里有一个问题:为什么java中封装了这么多好用集合的方法,而为什么看到一些大佬打比赛都用C去写呢?
博客介绍了Java中常用的ArrayList集合,它相当于数据结构中的顺序表,底层用数组实现,有自动扩容机制。还阐述了其增删改查操作及两种遍历方法,即迭代器法和for循环法,最后提出为何大佬比赛常用C语言编写的疑问。
1743

被折叠的 条评论
为什么被折叠?



