import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class MyArrayList {
private Object[] arr;
private int pointer;
public MyArrayList(){
arr = new Object[10];
pointer = -1;
}
public MyArrayList(int i){
arr = new Object[i];
pointer = -1;
}
public boolean add(Object e) {
// 在添加之前,判断数组是否够用?如果不够用?扩容!
if (pointer >= (arr.length - 1)) {
// 扩容
Object[] temp = new Object[arr.length + 10];
System.arraycopy(arr, 0, temp, 0, arr.length);
this.arr = temp;
}
this.arr[++pointer] = e;
return true;
}
public boolean addAll(Collection c) {
Iterator it = c.iterator();
while(it.hasNext()){
this.add(it.next());
}
return true;
}
public boolean addAll(int index, Collection c) {
// TODO Auto-generated method stub
return false;
}
public void clear() {
this.arr = new Object[10];
this.pointer = -1;
}
public boolean contains(Object o) {
boolean flag = false;
for (int i = 0; i < this.arr.length; i++) {
if (o == arr[i] || o.equals(arr[i])) {
flag = true;
break;
}
}
return flag;
}
public boolean containsAll(Collection c) {
boolean flag = true;
Iterator it = c.iterator();
while(it.hasNext()){
if(!this.contains(it.next())){
flag = false;
break;
}
}
return flag;
}
public Object get(int index) {
if (index > this.arr.length - 1) {
throw new IndexOutOfBoundsException("给定下标越界");
} else {
return this.arr[index];
}
}
public int indexOf(Object o) {
int index = -1;
for(int i=0;i<arr.length;i++ ){
index++;
if(contains(o))break;
}
if(index>=arr.length)index=-1;
return index;
}
public boolean isEmpty() {
return false;
}
public Iterator iterator() {
return null;
}
public int lastIndexOf(Object o) {
// TODO Auto-generated method stub
return 0;
}
public ListIterator listIterator() {
// TODO Auto-generated method stub
return null;
}
public ListIterator listIterator(int index) {
// TODO Auto-generated method stub
return null;
}
public boolean remove(Object o) {
if(!contains(o)){
return false;
}else{
int index = indexOf(o);
remove(index);
return true;
}
}
public Object remove(int index) {
Object obj = null;
if(index<0||index>arr.length){
throw new IndexOutOfBoundsException();
}else{
obj = arr[index];
if(index==arr.length-1){
arr[index]=null;
}else{
for(int i=index;i<arr.length-1;i++){
arr[i]=arr[i+1];
}
arr[arr.length-1]=null;
}
}
return obj;
}
public boolean removeAll(Collection c) {
// TODO Auto-generated method stub
return false;
}
public boolean retainAll(Collection c) {
// TODO Auto-generated method stub
return false;
}
public Object set(int index, Object element) {
// TODO Auto-generated method stub
return null;
}
public int size() {
return this.pointer + 1;
}
public List subList(int fromIndex, int toIndex) {
// TODO Auto-generated method stub
return null;
}
public Object[] toArray() {
// TODO Auto-generated method stub
return null;
}
public Object[] toArray(Object[] a) {
// TODO Auto-generated method stub
return null;
}
}
分享到:
相关推荐
在编程领域,特别是涉及到数据操作的时候,`list` 是一种常用的数据结构,它在Python、JavaScript等语言中广泛使用。`list to list` 操作通常指的是将一个列表(list)的内容移动到另一个列表中,这可能涉及到列表的...
在C#编程中,`List<T>`是.NET框架中常用的一种动态数组,它属于泛型集合,提供了丰富的功能,使得在处理一系列数据时更加灵活高效。`List<T>`类是`System.Collections.Generic`命名空间的一部分,它实现了`IList<T>`...
### Scala的List类方法整合 在Scala编程语言中,`List` 类是处理有序集合的一种常见方式。本文将详细介绍 `List` 类中的多种方法及其用途,帮助开发者更好地理解和使用这些功能。 #### 1. `def + (elem: A): List...
在Python编程语言中,列表(list)是一种非常重要的数据结构,它可以存储任意类型的对象,包括数字、字符串,甚至是其他列表。当我们谈论“list嵌套list”时,这意味着在一个列表内部包含了一个或多个列表,这样的...
在Delphi编程环境中,`TList` 是一个基础且重要的数据结构,用于存储动态数组。在 Delphi 的 VCL(Visual Component Library)框架中,`TList` 类提供了方便的方法来管理和操作对象列表。本教程将通过一个DEMO示例,...
本知识点重点讲解将List转换为List的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List转换为List 在Java中,Bean通常指的是...
描述中提到的“**再做List数据集合打印或数据绑定时,需要把List集合分组筛选**”意味着在处理List数据并准备显示或输出时,可能需要根据某些条件对数据进行分类,然后可能进一步筛选出特定的子集。这可以通过Linq的...
本篇文章将详细介绍如何在Duilib中使用List控件,并通过`list.cpp`文件的示例来探讨其主要功能和用法。 首先,理解List控件的基本结构。List控件由多个子项(Item)组成,每个子项可以包含文本、图片或者自定义的...
要将List存储到SharedPreferences,我们需要序列化(serialize)List为字符串,然后在需要时反序列化(deserialize)回List。一种常见的序列化方法是JSON。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时...
Java中List对象的分页思想-按10个或者n个数对list进行分组 Java中List对象的分页思想是一种常用的数据处理技术,通过将一个大的List对象分割成多个小的List对象,每个小的List对象包含一定数量的元素,例如10个或n...
### 遍历CheckBoxList,获得选中项的值动态绑定CheckBoxList #### 知识点一:CheckBoxList概述及应用场景 **CheckBoxList** 是ASP.NET Web Forms中一个非常有用的控件,它允许用户选择一个或多个选项。CheckBoxList...
### Delphi TList 类详解 #### 一、引言 在 Delphi 开发环境中,`TList` 是一种非常实用且强大的数据结构容器,用于存储一系列对象指针。相较于简单的数组,`TList` 提供了更为丰富的功能,如动态调整大小、排序等...
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
"JSON 转换为 List 涉及 Java 和 Spring Boot" JSON 转换为 List 是一种常见的数据处理操作,特别是在 Java 和 Spring Boot 应用程序中。下面我们将详细介绍如何使用 Java 和 Spring Boot 将 JSON 字符串转换为 ...
C语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言头文件 LISTC语言...
private static List<dynamic> DynamicLinq(List<T> list, List<string> DimensionList, string DynamicColumn, out List<string> AllDynamicColumn) where T : class { // ... } ``` 3. DynamicLinq方法的实现 ...
Alist是一款强大的网盘挂载工具,它允许用户将云端的存储空间本地化,仿佛网盘变成了自己的硬盘,提供了一种高效便捷的方式来管理和操作网盘内的文件。标题中的"Alist安装包+快速启动-停止脚本"表明这个压缩包包含了...
1.读取CSV文件到List def readCSV2List(filePath): try: file=open(filePath,'r',encoding=gbk)# 读取以utf-8 context = file.read() # 读取成str list_result=context.split(\n)# 以回车符\n分割成单独的行 #...
ResultSet 转为 List ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,...