As my last BLOG had metioned, array has it shortcoming it has range and it can grow.It is awful to think about it.To solve this problem ,we need a powerful method to deal with it.So the arrayList appear in my sight.
Array's name represent its location in the Rom.So you can replace your last array with a new one.It's cool ,isn't it.Use this method we can solve the problem we have listed above.
First we should define a array interface,which is like this
package xy_队列0730; /** * define my arrayList * @author Administrator * */ public interface NetJavaList { //add a student object to my List public void add(student st); //get the student from a certain location public student get(int index); //get the length of the array public int size(); }
second we just need to implements the interface then we can get a array which can grow.
package xy_队列0730; public class STList implements NetJavaList{ @Override public void add(student st) { //define a new list ,which length is source List length + 1 student[] destA=new student[srcA.length+1]; //add the new object to the last of the new array destA[srcA.length]=st; //add source array to the new array for(int t=0;t<srcA.length;t++){ destA[t]=srcA[t]; } //point at new array srcA=destA; } public student get(int index) { student st=srcA[index]; return st; } public int size() { return srcA.length; } //initialize the array to accept the student object in the list,which length is 0 private student[] srcA =new student[0]; }
But if you want to store another type array,then you have to define another arrayList.So to avoid the situation clever programmer define the genericity which is helpful. Genericity which can represent every type it is just a name.It just like a formwork.
package xuyi_java_0717; /** * i define the Genericity(泛型) arrayList * @author Administrator * */ public interface Genericity<E> { //add a object to the arrayList public void add(E e); //get a object from a certain index public E get(int index); //get the length of the arrayList public int size(); }
package xuyi_java_0717; /** * define the genericity arrayList * @author Administrator * */ public class Igenericity<E> implements Genericity{ //define a arrayList in the arrayList to store the object which length is 0 //Object is the superclass of all the class private Object[] srcA=new Object[0]; public void add(Object e) { //create a new array which length is source length +1 Object[] destA=new Object[srcA.length+1]; //add the new object to the last location destA[srcA.length]=e; //use the method to copy the array System.arraycopy(srcA, 0, destA, 0, srcA.length); //point at the new create array srcA=destA; } public E get(int index) { E st=(E)srcA[index]; return st; } public int size() { return srcA.length; } }
Now we can make our repainting and storing every step of gobang come ture.
相关推荐
javascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array list into setjavascript array ...
### C# 中 Array、ArrayList 和 List 的区别 在C#编程语言中,处理集合数据时,程序员经常需要根据实际需求选择合适的集合类型。本文将详细解释C#中Array、ArrayList和List之间的区别,并通过示例代码帮助理解这些...
ArrayLists 适合需要存储不同类型元素的场景,Hashtables 适合需要快速查找元素的场景,Generic List 和 Generic Dictionary 适合需要灵活性高的场景,2D Array 适合需要存储大量数据的场景。 了解 Unity 中各种...
本压缩包文件"VC.plug.in.module.development.array.list.rar_vc array"显然关注的是如何使用VC来构建一个数组列表插入模块。下面我们将深入探讨这一主题,讲解如何在VC中设计和实现这样的模块,以及涉及的关键知识...
在Java编程语言中,数据结构的使用是至关重要的,其中包括List、Set和Array。这三种数据结构各有特点,适用于不同的场景。理解它们之间的相互转换能够帮助我们更好地管理和操作数据。以下将详细介绍Java中List、Set...
#ifndef __LIST_H__ #define __LIST_H__ struct list; struct list *list_init(); void list_free(struct list *list); int list_isempty(struct list *list); void list_clear(struct list *list); int list_...
### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...
### Python中的列表(List)及其与数组(Array)的相互转换 #### 一、Python中的列表(List) **1.1 列表的基本概念** 列表是Python中最常用的数据结构之一,它是一种有序集合,支持动态添加和删除元素。列表中的元素...
集合类是用于存储和操作多个数据项的数据结构,在.NET框架中,集合类广泛应用于各种场景。本篇将对ArrayList和HashTable这两个常用集合类进行实例操作练习,详细解释如何对它们进行添加、遍历和移除等操作,并探讨...
描述中提到,“find max element from huge array list”是指在大数据量的数组中寻找最大值,这通常是一个计算密集型任务。通过使用“using MULTIPLE PROCESSORS”,我们可以推断这个程序设计为并行处理,以加快计算...
// create an array list ArrayList al = new ArrayList(3); System.out.println("Initial size of al: " + al.size()); // add elements to the array list al.add("C"); al.add("A"); al.add("E"); al....
在处理JSON时,我们有时需要将JSON字符串转换为Java中的各种数据类型,如List、Array、Map和自定义对象。本文将详细介绍如何进行这些转换,并提供一个封装好的转换方法和示例。 1. **String to List** JSON字符串...
将每行数据放入List[]> list = new Array List[]>(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后返回一个list. 2. ExcelUtil.java工具类 解析通过MutilpartFile导入的...
在Java编程语言中,Array(数组)和List是两种常用的数据结构,它们各自有各自的特性和应用场景。然而,在实际开发中,我们常常需要在数组和列表之间进行转换,以适应不同的需求。本篇将深入探讨Java中如何实现Array...
//Add the column headers to the array list ArrayList Header = new ArrayList(); for (int j = 0; j ; j++) { Header.Add(dt.Columns[j].Caption.ToString()); } orderData.Add(Header); //Loop the ...
本文实例讲述了C#中List和数组之间转换的方法。分享给大家供大家参考。具体分析如下: 一、List转数组 (从List转到string[]) List<string> listS=new List(); listS.Add(str); listS.Add(hello); string[] str=...
与原生 MATLAB 元胞数组相反,使用 List ADT 的好处是 List ADT 隐藏了执行操作的复杂性,例如在任意位置插入和删除元素时要执行的操作。 实现:类'CellArrayList'是List ADT的具体实现,它使用“原生”MATLAB元胞...
以上这篇对numpy的array和python中自带的list之间相互转化详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:pytorch: tensor类型的构建与相互转换...