
可以用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数组中取得指定内容的下标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)