`

array list

 
阅读更多

      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 set

    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# 中 Array、ArrayList 和 List 的区别 在C#编程语言中,处理集合数据时,程序员经常需要根据实际需求选择合适的集合类型。本文将详细解释C#中Array、ArrayList和List之间的区别,并通过示例代码帮助理解这些...

    unity中各种数组使用的区别

    ArrayLists 适合需要存储不同类型元素的场景,Hashtables 适合需要快速查找元素的场景,Generic List 和 Generic Dictionary 适合需要灵活性高的场景,2D Array 适合需要存储大量数据的场景。 了解 Unity 中各种...

    VC.plug.in.module.development.array.list.rar_vc array

    本压缩包文件"VC.plug.in.module.development.array.list.rar_vc array"显然关注的是如何使用VC来构建一个数组列表插入模块。下面我们将深入探讨这一主题,讲解如何在VC中设计和实现这样的模块,以及涉及的关键知识...

    java List、Set与Array之间的相互转换

    在Java编程语言中,数据结构的使用是至关重要的,其中包括List、Set和Array。这三种数据结构各有特点,适用于不同的场景。理解它们之间的相互转换能够帮助我们更好地管理和操作数据。以下将详细介绍Java中List、Set...

    线性表list_array的源代码(c语言)

    #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方法的使用

    ### JS List的contains方法与Array的contains方法的使用 在JavaScript中,`Array`是用于存储多个值的数据结构。然而,原生JavaScript并没有提供一个直接的`contains`方法来检查数组是否包含某个元素。通常情况下,...

    Python中列表list以及list与数组array的相互转换实现方法

    ### Python中的列表(List)及其与数组(Array)的相互转换 #### 一、Python中的列表(List) **1.1 列表的基本概念** 列表是Python中最常用的数据结构之一,它是一种有序集合,支持动态添加和删除元素。列表中的元素...

    集合类Array List HashTable实例操作练习

    集合类是用于存储和操作多个数据项的数据结构,在.NET框架中,集合类广泛应用于各种场景。本篇将对ArrayList和HashTable这两个常用集合类进行实例操作练习,详细解释如何对它们进行添加、遍历和移除等操作,并探讨...

    MPI-max_in_array.rar_MPI_max

    描述中提到,“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....

    StringtoList和StringtoMap和StringtoObject和StringtoArray

    在处理JSON时,我们有时需要将JSON字符串转换为Java中的各种数据类型,如List、Array、Map和自定义对象。本文将详细介绍如何进行这些转换,并提供一个封装好的转换方法和示例。 1. **String to List** JSON字符串...

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    将每行数据放入List[]&gt; list = new Array List[]&gt;(),并根据excel数据类型将器转换为字符串、数字、Boolean、公式、空值类型防止出现错误,最后返回一个list. 2. ExcelUtil.java工具类 解析通过MutilpartFile导入的...

    详解Java如何在Array和List之间进行转换.rar

    在Java编程语言中,Array(数组)和List是两种常用的数据结构,它们各自有各自的特性和应用场景。然而,在实际开发中,我们常常需要在数组和列表之间进行转换,以适应不同的需求。本篇将深入探讨Java中如何实现Array...

    导入excell2007

    //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和数组之间转换的方法

    本文实例讲述了C#中List和数组之间转换的方法。分享给大家供大家参考。具体分析如下: 一、List转数组 (从List转到string[]) List&lt;string&gt; listS=new List(); listS.Add(str); listS.Add(hello); string[] str=...

    Data Structure: A Cell Array List Container:提供有用的一维容器来存储有序的异构元素集-matlab开发

    与原生 MATLAB 元胞数组相反,使用 List ADT 的好处是 List ADT 隐藏了执行操作的复杂性,例如在任意位置插入和删除元素时要执行的操作。 实现:类'CellArrayList'是List ADT的具体实现,它使用“原生”MATLAB元胞...

    对numpy的array和python中自带的list之间相互转化详解

    以上这篇对numpy的array和python中自带的list之间相互转化详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:pytorch: tensor类型的构建与相互转换...

Global site tag (gtag.js) - Google Analytics