Java-20180412

本文从Java初学者的角度出发,详细介绍了如何使用Vector实现数组中寻找两数之和等于目标值的问题,并回顾了Vector的基本概念与操作,同时复习了Java基础知识,包括JDK与JRE的区别及位运算等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天开始重新复习Java,完成了leetcode的第一题。
1.算法:
给定一个数组和目标值,找出相加等于目标值的数组元素的下标。
数组[2,7,11,15];
target:9;
返回:[0,1];
import java.util.Vector;
class Solution {
    public int[] twoSum(int[] nums, int target) {
    Vector in=new Vector();
    int []inde =new int[2];
    for(int i=0;i<nums.length;i++)
      for(int j=i+1;j<nums.length;j++)
     {
        if(nums[i]+nums[j]==target)
        {
          if(!in.contains(i))
          in.add(i);
          if(!in.contains(j))
          in.add(j);
        }
     }
     Integer[] ind=in.toArray(new Integer[in.size()]);
     for(int k=0;k<ind.length;k++)
     {
       inde[k]=ind[k].intValue();
     }
     return inde;
}
2.Vector的基本定义,声明,申请空间及基本操作
Vector实现了Java中动态数组的功能,基本原理是先分配固定的空间,当空间不够时再申请新的空间。
容量是指向量能够容纳的元素个数,而长度则是指真是元素的真实个数,容量增量是指申请新空间的大小-通常是非负整数(0代表翻倍);
声明和初始化:Vector <Object> vo=new Vector<Object> ();   不使用参数默认初始容量为10,增量为0;一个参数代表初始容量,增量默认为0;两个参数分别代表初始容量和增量;
添加元素:
boolean add(E o)和void addElement(E o)功能相似,都是在向量尾添加元素;
void add(int i,E o)和void insertElementAt(E o,int i)功能相同,都是插入,两个参数一个是插入位置,一个是插入对象, 顺序相反
修改元素:
E set(int i,E o)和void seElementAt(E o,int i)
删除元素:
void clear()和void removeAllElements()都是清空; E remove(int i)和void removeElementAt(int i)作用移除固定位置元素;
boolean remove(O o),boolean removeElement(O o)删除第一个与o相同的元素。
查询元素:
boolean cotains(O o)查询Vector是否包含o; int IndexOf(O o)查询o相等元素的第一次出现的位置,如找不到返回-1;int lastIndexOf(O e)查找最后一个并返回下标,否则返回-1;
而int IndexOf(O o,int i) 和 int lastIndexOf(O e,int i)代表大于等于i的第一个元素的下标以及小于等于i的最后一个;
E elementAt(int i)和E get(int i)返回下标为i的元素;
E firstElement()和E lastElement()返回第一个和最后一个元素。
其他操作:int capacity()返回容量,int size()返回长度,boolean isEmpty()判断是否为空,void trimToSize()是容量变为长度。
迭代器
方便的循环。
示例
Vector <String> vo=new Vector<String> ();
//Vector的赋值
Iterator<String> it=vs.Iterator();
//此时it指向第1个元素之前,Vector不能再发生改变,否则就会抛出异常 java.util.ConcurrentModificationException
while(it.hasNext())
{System.out.println(it.next());}
3.一些转换
Vector与数组的转换:
Integer[] ind= in. toArray(new Integer[in.size()]); 其中in是Vector对象,ind为Integer数组;
Integer与int的转换:
inde[k]=ind[k]. intValue();
4.基础复习
Java第一章:
JDK和JRE的区别:JRE(Java Runtime Environment)Java运行时环境有些程序运行需要Java环境,因此JRE只是给客户端使用的。
JDK(Java Development Kit)开发Java程序时组件,需要手动配置路径变量,包含JRE。
Java第二章:
>>>无符号右移A>>>B代表将A的补码向右移动B位,左边补0,而A>>B则是左边补最高位。
foreach用法:
for(String st:vs)
  {
   System.out.println(st);
  }
可以直接遍历Vector<String>对象vs的值。
这里的vs可以是数组,向量,哈希,链表等等。

转载于:https://www.cnblogs.com/lbrs/p/8855613.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值