1. java如何在String数组中取得指定内容的下标
将数组放到租弯List里面去弊缺闷 List可以找到下标扮卖x0dx0ax0dx0a String a[]={"A","B","C"};x0dx0a List lista = new ArrayList 2. java如何获得集合里面某个元素的下标
具体一点啊...哪一种啊??list、map、set哪一种啊?只有第一衫前种list才裤塌罩胡闹有下标的,用list.indexof(obj)来获得obj的下标啊.....
3. JAVA如何实现在一个集合中插入一个元素,并返回插入的下标 如果是无序的集合, 那么不存在位置这个说法 如果是有序的集合, 以ArrayList为例, 那么插入元素,没有指定位置,那么集合长度-1 .就是插入的下标 如果指定了位置,那么指定的位置就是插裤掘败入的下标啊 ,如果指定位置大于集合长度,会抛出异常 参考代码 测试结果 4. java 在一个有序list中找到不在此list中的某个x的前后值的索引下标
最简单雹穗的方尺茄法,便利list,找到list中比给定的值大的第一个值,这个就是给定值的后元素。 5. JAVA的arraylist可以用下标直接访问吗 JAVA的arraylist可以用下标直接访问的。 顺序存储的因为他们每个元素在内存中都是连续的,所以可以通过下标访问。下表访问其实就是给当前个元素的内存地址加上一个或多个单位(存储一个元素的内存)的内存空间。 线性集合有两种存储方式 ,一种是顺序存储的 ,而另一种是链运滑表存储 。 ArrayList是数组集合,可不是链表哦。 在C#中,链表表示的集合叫做旁缓腊LinkedList<T>,这个才是你学过的不能使用下标访问的链表集合。 ArrayList是动态的数组集合,它是底层实现是基于数组的,而数组排列是连续的内存空间,所以可以使用下标来计算每一个元素的内存位置,从而获取哪扒元素本身。 纠正一点,在C#中,所谓的“下标”叫做“索引器”。是类的一种特殊的方法。 6. java如何获得集合里面某个元素的下标 list.remove(int index)这个可以获得集合里面某个元素的下标。 7. Java中list的详细介绍(关于下标)
LIST是咐判个容器接口,可以理解为动态数组,传统数组必须定义好数组的个数才可以使用,而容器对象无陪简穗须定义好数组下标总数,用add()方法即可添加新的成员对象,他可以添加的仅仅只能为对象,不能添加基本数据芦卜类型,容器还对应get(),remove()方法来获取和删除数据成员
8. java基础,list问题
程序在执行list.add(2,"B");的时候就报错,因为还没有存在下标为1的友巧肆值,而你直接插入下标为2的值。 9. JAVA中的List的使用
List<E>([]内的内容可省略),与数组类似:importjava.util.ArrayList;
publicclassListDemo{
publicstaticvoidmain(String[]args){
ArrayList<String>list=newArrayList<String>();
//自带的添加元素的方法
list.add("天涯");
list.add("明月");
list.add(1,"晴天");
//使用自定义函数进行添加元素
inta=myAdd(list,"令狐冲");
System.out.println(a);
intb=myAdd(list,2,"郭芙散冲蓉"胡颤);
System.out.println(b);
System.out.println(list);
}
//向集合尾部插入元素
privatestaticintmyAdd(ArrayList<String>list,Stringe){
list.add(e);//向尾部加入一个元素
returnlist.size()-1;//返回最后一个元素的下标即可
}
//向集合指定位置插入元素
privatestaticintmyAdd(ArrayList<String>list,intindex,Stringe){
list.add(index,e);//向指定位置加入1个元素
returnindex;//返回指定的位置
}
}3
2
[天涯,晴天,郭芙蓉,明月,令狐冲]
int target=8;
for(int i=0,size=list.size();i<size;i++){
if(list.get(i)>=target){
System.out.println("a:"源困卜+list.get(i-1));
System.out.println("b:"+list.get(i));
}
}
LinkedList是通过节点直接彼此连接来实现的。每一个节点都包含前一个节点的引用,后一个节点的引用和节点存储的值。当一个新节点插入时,只需要修改其中保持先后关系的节点的引用即可,当删除记录好轿时也一样。这样就带来以下有缺点:
操作其中对象的速度快 只需要改变连接,新的节点可以在内存中的任何地方
不能随即访问,虽然存在get()方法,所以这个方法是通过遍历接点来定位的速度慢。
说白了,就宽弊是数据结构中的顺序存储和链式存储
(转)
你仔细去看看各个集合的特点吧。都有自己的执行方式的。
实例化:List[<数据类型>] list = new ArrayList[<数据类型>]();
获得集合内元素个数:list.size();
添加元素:
默认添加:list.add(e);
指定下标添加(添加后下标后的元素向后挪一位):list.add(index,e);
删除元素:
返回是否删除:list.remove(e);
直接删除指定下标的元素(只删除找到的第一个相符合的元素):list.remove(index);
替换元素(替换掉指定下标的元素):list.set(index,e);
取出元素:list.get(index);
清空集合:list.clear();
判断集合中是否存在某个元素(存在返回true,不存在返回false):list.contains(e);
对比两个集合中的所有元素:
两个对象一定相等:list.equals(list2);
两个对象不一定相等:list.hashCode() == list2.hashCode();
(两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象。)
获得元素下标:
元素存在则返回找到的第一个元素的下标,不存在则返回-1:list.indexOf(e);
元素存在则返回找到的最后一个元素的下标,不存在则返回-1:list.lastIndexOf(e);
判断集合是否为空(空则返回true,非空则返回false):list.isEmpty();
返回Iterator集合对象:list.iterator();
将集合转换为字符串:list.toString();
截取集合(从fromIndex开始在toIndex前结束,[fromIndex,toIndex)):list.subList(fromIndex,toIndex);
将集合转换为数组:
默认类型:list.toArray();
指定类型(objects为指定类型的数组对象,并将转换好的数组赋值给objects数组):list.toArray(objects);
以上为List常用的方法。