完成

package com.arno.it;

import java.util.ArrayList;
import java.util.List;

import org.omg.PortableServer.ID_ASSIGNMENT_POLICY_ID;

public class Test {
 public static void main(String[] args) {
  int a = 1;
  int b = 2;
  List<String> list = new ArrayList<String>();
  List<String> mainList = new ArrayList<>();
  List<String>getlist=new ArrayList<>();
  list.add("111");
  list.add("222");
  list.add("333");
  list.add("444");
  list.add("555");
  list.add("666");
  list.add("777");
  list.add("888");
  System.out.println(list.indexOf("333"));
  List<String>code=new ArrayList<>();
  code.add("777");
  code.add("888");
  System.out.println(list.subList(0, 2));
  getlist = new Test().getlist(list, -2, 2, "555", mainList);
//  System.out.println(getlist);
for (String string : code) {
 getlist= new Test().getlist(list, -2, 2, string, getlist);
// System.out.println(getlist);
  }
System.out.println(getlist);
 }

 public List<String> getlist(List<String> list, int a, int b, String aaaa, List<String> mainList) {
  int count = 0;
  int lelve = a;
  int round = b;
  int indexOf = list.indexOf(aaaa);
  List<String> aa = new ArrayList<>();
  List<String> mainList1 = new ArrayList<>();
  if (indexOf >= 0) {
   if (lelve > 0) {
    for (int i = 0; i < list.size(); i++) {
     if (indexOf - i > 0) {
      aa.add(list.get(i));
     } else {
      if (count <= 0) {
       aa.add(list.get(lelve + i));
       count++;
      } else {
       if (round > 0) {
        aa.add(list.get(lelve + i));
        round--;
       } else {
        aa.add(list.get(i));
       }
      }
     }

    }
   } else {
    for (int i = 0; i < list.size(); i++) {
     if (indexOf - round - i > 0) {
      aa.add(list.get(i));
     } else {
      if (indexOf - i >= 0) {
       if (i + lelve >= 0) {
        aa.add(list.get(i + lelve));
       } else {
        aa.add(list.get(i));
       }
      } else {
       aa.add(list.get(i));
      }
     }
    }
   }
  }
  if (mainList.size() == 0) {
   mainList1.addAll(aa);
  } else {
   List<String> subList = aa.subList(indexOf-round,indexOf+1);
   mainList1.addAll(mainList);
   for(int i=0;i<=round;i++){
    mainList1.set(i+(indexOf-round),subList.get(i));
  }
  }
  return mainList1;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值