今天开始重新复习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();

Java-20180412的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 南京邮电大学java程序设计作业在线编程第四次作业

    王利国的的 "Java语言程序设计第4次作业(2018)" 详细 主页 我的作业列表 作业结果详细 总分:100 选择题得分:40  1.下列方法定义中,正确的是() A.doub ...

  3. java里面如何提升编写速度

    一般情况下,编写程序,是在规定的时间内,并且在一段时间内很好的按成,那么就必须要套用现成的东西.在一个新的功能中,如何调用现成的东西呢,那么就是使用第三方包或者是使用自己总结的代码库.接来下是自己看到 ...

  4. java月考题JSD1908第二次月考(含答案和解析)

    考试 .container { clear: both; margin: 0 auto; text-align: left; /*width: 1200px;*/ } .container:after ...

  5. java基础题月考JSD1908(含答案和解析)

    考试 .container { clear: both; margin: 0 auto; text-align: left; /*width: 1200px;*/ } .container:after ...

  6. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  7. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  8. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  9. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  10. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

随机推荐

  1. 【miscellaneous】海康威视监控摄像头实现web端无插件监控实拍效果

    [rtsp]海康威视监控摄像头实现web端无插件监控实拍效果 详细介绍参见:http://live.cuplayer.com/RtspCameraLive.html web端无须装插件(支持PC,安卓 ...

  2. Navicat Premium12 注册机下载及教程

    1.下载Navicat Premium 官网https://www.navicat.com.cn/下载最新版本下载安装(文末,网盘地址有64位安装包和注册机下载) 2.激活Navicat Premiu ...

  3. 论文阅读 | TextBugger: Generating Adversarial Text Against Real-world Applications

    NDSS https://arxiv.org/abs/1812.05271 摘要中的创新点确实是对抗攻击中值得考虑的点: 1. effective 2. evasive    recognized b ...

  4. 17.Azkaban实战

    首先创建一个command.job文件 #command.job type=command command=echo it18zhang 然后打成zip压缩包 上传刚刚打包的zip包 上传完后可以执行 ...

  5. 重载(overload)和重写(override)的区别

    方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性. 重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则 ...

  6. Oracle——学习之路(视图——虚拟表)

    语法: create [or replace] view 视图名  as  查询相关语句                                 ps: or replace 表示新视图可以覆 ...

  7. with上下文管理 python魔法方法

    with语法在Python里很常见, 主要的利好是使用代码更简洁. 常见的使用场景有: 1. 资源对象的获取与释放. 使用with可以简化try...finally ... 2. 在不修改函数代码的前 ...

  8. Codeforces 1240B. Sequence Sorting

    传送门 分析题目发现如果把某个数 $x$ 往左移,那么之后所有小于 $x$ 的数也都要往左移 如果把 $x$ 往右移,那么之后所有大于 $x$ 的数也都要往右移 考虑我们首先一定有一个操作 $n$ 次 ...

  9. 交替方向乘子法(ADMM)的原理和流程的白话总结

    交替方向乘子法(ADMM)的原理和流程的白话总结 2018年08月27日 14:26:42 qauchangqingwei 阅读数 19925更多 分类专栏: 图像处理   作者:大大大的v链接:ht ...

  10. OnMouseWheel的通常处理

    BOOL CMainWindow::OnMouseWheel(UINT nFlags, short zDelta, CPoint point) { BOOL bUp = TRUE; int nDelt ...