java:一个ArrayList数组中含有5个元素:A,B,C,D,E,我现在有E,如何求出E是在该数组下标的第4个位置呢

java:一个ArrayList数组中含有5个元素:A,B,C,D,E,我现在有E,如何求出E是在该数组下标的第4个位置呢,第1张

可以用List中的indexOf()方法取得该元素数组位置

Arraylist是继承自List的,也有这个方法

另外建议类似问题可以先查一下SDK文档,上面说明的还是比较清楚的,效率也比直接问问题高些

abstract int indexOf(Object object)

Searches this List for the specified object and returns the index of the first occurrence

function searchKeys(needle, haystack)

{

    var result = [];

    for (i in haystack)

{

if (haystack[i] == needle)

{

    resultpush(i);

}

}

    return result;

}

var array = [1,2,1,3,1,4,1,5,1,1];

var val = 1;

var result = searchKeys(val, array);

alert(result);

这里写了一个方法,第一个参数是所要求果的值,第二个参数是对应的数组,函数返回的结果就是在这个数组中有相同元素的坐标。

上面是已知元素进行查找,下面这个是对数组所有元素进行查找

var arr = ['1', '2', '3', '4', '5', '6', '6', '7', '8', '1', '1', '1'];

var list = [];

for (var i = 0; i < arrlength; i++)

{

var hasRead = false;

for (var k = 0; k < listlength; k++)

{

if (i == list[k])

{

hasRead = true;

}

}

if (hasRead) { break;}

var _index = i, haveSame = false;

for (var j = i + 1; j < arrlength; j++)

{

if (arr[i] ==arr[j])

{

listpush(j);

_index += "," + j;

haveSame = true;

}

}

if (haveSame)

{

alert("数组中值为"+arr[i]+"相同元素的下标为"+_index);

}

}

这个是对所有的数组元素遍历,查出所有的相同的元素以及下标

将数组放到List里面去 List可以找到下标\x0d\\x0d\ String a[]={"A","B","C"};\x0d\ List lista = new ArrayList();\x0d\ for(int i=0;i回答于 2022-11-16

数组中的元素就是通过下标获取的啊,你是探究其中的原理吗?你可以把他想象成一排有效的数字,是从0还是,然后有序的排列着的,你想要叫几号出来,只要直接喊他名字就行了,并不用知道这个人的名字或者性别或者其他东西

'arrPtr:数组指针,dims:数组维数,pData:元素指针

Dim arrPtr As Long, dims As Long, pData As Long

'i:循环变量,carry:进位标记

Dim i As Long, carry As Integer

'取得数组维数

CopyMemoryArr arrPtr, Arr, 4

dims = SafeArrayGetDim(arrPtr)

ReDim Index(dims - 1) As Long

Do

'取得某个下标处元素的指针

SafeArrayPtrOfIndex arrPtr, Index(0), pData

'与传入的元素的指针比较

If pData = VarPtr(Element) Then

GetIndex = True

Exit Function

End If

'数组下标加1

Index(dims - 1) = Index(dims - 1) + 1

'检查下标是否溢出

carry = 0

For i = dims - 1 To 1

Index(i) = Index(i) + carry

If Index(i) > UBound(Arr, i + 1) Then

Index(i) = 0

carry = 1

End If

Next i

'最高位单独处理,防止被清0

Index(0) = Index(0) + carry

'检查是否搜索完毕,退出循环

If Index(0) > UBound(Arr, 1) Then Exit Do

Loop

GetIndex = False

End Function

1 using System;

2 using SystemCollectionsGeneric;

3 using SystemLinq;

4 using SystemText;

5

6 namespace ConsoleApplication1

7 {

8 class Program

9 {

10 static void Main(string[] args)

11 {

12 // 定义一个二维数组 其实可以把二维数组看作一个表 例如

13 / 0 1 2 3 4 ------------列等于i 维

14 ----------------

15 0 | | | | | |

16 ----------------

17 1 | | | | | |

18 ----------------

19 2 | | | | | |

20 ----------------

21 3 | | | | | |

22 ↓ ----------------

23 ↓

24 ↓

25 行代表 j 维

26 /

27

28 int[,] array = { { 1, 2, 3 },

29 { 4, 5, 6 },

30 { 7, 8, 9 } }; // 这是一个三行三列的二维数组

31 // 现在我们来把这个二维数组输出在屏幕上 用两个for循环来实现, 一个控制行,一个控制列

32

33 for (int i = 0; i < 3; i++) // 因为只有三行, 而且数组下标是从0开始的,所以要小于三

34 {

35 for (int j = 0; j < 3; j++) //同理, 只有三列, 所以要小于三

36 {

37 ConsoleWrite(array[i,j] + "\t");

38 }

39 ConsoleWriteLine();

40 } /

41 打印结果为 1 2 3

42 4 5 6

43 7 8 9

44 /

45

46 // 接下来做一个实例 , 用二维数组打印一个矩阵出来

47 string[,] Chess = new string[11, 19]; //声明一个二维数组

48 for (int a = 0; a < 11; a++) // 控制行,

49 {

50 for (int b = 0; b < 19; b++) //控制列

51 {

52 if (b % 2 != 0)

53 Chess[a, b] = "—";

54 else

55 Chess[a, b] = "|";

56 ConsoleWrite(Chess[a, b]);

57 }

58 ConsoleWriteLine();

59 }

60

61 / 打印结果

62 |—|—|—|—|—|—|—|—|—|

63 |—|—|—|—|—|—|—|—|—|

64 |—|—|—|—|—|—|—|—|—|

65 |—|—|—|—|—|—|—|—|—|

66 |—|—|—|—|—|—|—|—|—|

67 |—|—|—|—|—|—|—|—|—|

68 |—|—|—|—|—|—|—|—|—|

69 |—|—|—|—|—|—|—|—|—|

70 |—|—|—|—|—|—|—|—|—|

71 |—|—|—|—|—|—|—|—|—|

72 |—|—|—|—|—|—|—|—|—|

73

74 /

75 }

76 }

77 }

以上就是关于java:一个ArrayList数组中含有5个元素:A,B,C,D,E,我现在有E,如何求出E是在该数组下标的第4个位置呢全部的内容,包括:java:一个ArrayList数组中含有5个元素:A,B,C,D,E,我现在有E,如何求出E是在该数组下标的第4个位置呢、js中如何取得数组中相同元素的下标、java如何在String数组中取得指定内容的下标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10158737.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存