Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Scanner;
- import java.util.Vector;
- class Pair<T,M>{
- private T first;
- private M second;
- final T getFirst(){
- return first;
- }
- final M getSecond(){
- return second;
- }
- final void setFirst(T m){
- this.first=m;
- }
- final void setSecond(M i){
- this.second=i;
- }
- protected Pair(){}
- public Pair(T max,M index){
- this.first=max;
- this.second=index;
- }
- public static <T,M> Pair make_pair(T max,M index){
- return new Pair<T,M>(max,index);
- }
- final void show(){
- System.out.print(first+" ");
- System.out.print(second+" ");
- }
- }
- class Bag {
- private final ArrayList<Object> mas = new ArrayList<>();
- protected Bag() {}
- public Bag(int n) {
- for (int i = 0; i < n; i++) {
- mas.add(i, null);
- }
- }
- public void add(Object num) {
- int count = -1;
- boolean flag = false;
- int r = (int) Math.round(Math.random() * (mas.size() - 1));
- while (!flag) {
- for (int k = 0; k < mas.size(); k++) {
- if (mas.get(k) == null) {
- if(r == k) {
- mas.set(r, num);
- System.out.println("Предмет " + mas.get(k) + " добавлен в мешок");
- flag = true;
- break;
- }
- } else count++;
- }
- r = (int) Math.round(Math.random() * (mas.size() - 1));
- if (mas.size() - 1 == count) {
- System.out.println("Мешок полон");
- break;
- }
- }
- }
- public Object remove() {
- boolean flag = false;
- Object tmp=null;
- if (mas.size() == 0) return tmp;
- while (!flag) {
- int r = (int) Math.round(Math.random() * (mas.size() - 1));
- for (int k = 0; k < mas.size(); k++) {
- if (mas.get(k) != null && r == k) {
- tmp = mas.get(k);
- System.out.println("Предмет " + mas.get(k) + " удален");
- mas.set(k,null);
- flag = true;
- break;
- }
- }
- }
- return tmp;
- }
- public final Object retElem(int i) {
- return mas.get(i);
- }
- public final int retSize() {
- return mas.size();
- }
- public void show() {
- for (Object i : mas) {
- System.out.print(i + " ");
- }
- System.out.println();
- }
- }
- class PairBag extends Bag {
- private ArrayList<Pair> pmas = new ArrayList<>();
- public PairBag(int n) {
- for (int i = 0; i < n; i++) {
- pmas.add(i, null);
- }
- }
- public <T, M> void addpair(T first, M second) {
- int count = -1;
- boolean flag = false;
- Pair<T, M> pair1 = new Pair<>(first, second);
- int r = (int) Math.round(Math.random() * (pmas.size() - 1));
- while (!flag) {
- for (int k = 0; k < pmas.size(); k++) {
- if (pmas.get(k) == null) {
- if(r==k) {
- pmas.set(r, pair1);
- System.out.println("Пара значений ");
- pmas.get(k).show();
- System.out.print("добавлена в мешок");
- System.out.println();
- flag = true;
- break;
- }
- } else count++;
- }
- r = (int) Math.round(Math.random() * (pmas.size() - 1));
- if (pmas.size() - 1 == count) {
- System.out.println("Мешок полон");
- break;
- }
- }
- }
- public Pair delpair() {
- boolean flag = false;
- Pair tmp = new Pair();
- if (pmas.size() == 0) return tmp;
- while (!flag) {
- int R = (int) Math.round(Math.random() * (pmas.size() - 1));
- for (int k = 0; k < pmas.size(); k++) {
- if (pmas.get(k) != null && R == k) {
- tmp = pmas.get(k);
- System.out.println("Пара значений ");
- pmas.get(k).show();
- System.out.print(" удалена");
- pmas.remove(k);
- flag = true;
- break;
- }
- }
- }
- return tmp;
- }
- @Override
- public void show() {
- for (int i = 0; i < pmas.size(); i++) {
- if (pmas.get(i) != null) {
- pmas.get(i).show();
- System.out.print(" ");
- } else System.out.print(pmas.get(i) + " ");
- }
- System.out.println();
- }
- }
- class GPairBag<T> extends PairBag{
- GPairBag(int n){
- super(n);
- }
- @Override
- public <T, M> void addpair(T first, M second) {
- if(second.getClass()==first.getClass())
- super.addpair(first, second);
- else System.out.println("Типы элементов пары не равны");
- }
- }
- abstract class HashFunction<K>{
- abstract int hash(K s);
- HashFunction(int strings,int columns){
- }
- }
- class Hashtable<K,T>{
- Vector<List<T>> table;
- Hashtable(int strings,int columns,HashFunction<K> hash){
- }
- }
- class Dlist<T1,T2>{
- ArrayList<T1> value;
- ArrayList<ArrayList<T2>> val;
- Dlist() {
- value = new ArrayList<>(20);
- val = new ArrayList<>(20);
- }
- Dlist(int n) {
- value = new ArrayList<>(n);
- val = new ArrayList<>(n);
- }
- public void add(T1 num1,ArrayList<T2> num2){
- ArrayList<T2> g = new ArrayList<>();
- value.add(num1);
- val.add(num2);
- }
- public void del(int i){
- value.remove(i);
- val.remove(i);
- }
- public void show(int i){
- System.out.println("Значение: "+value.get(i));
- System.out.println("Соответсвующие значения"+val.get(i));
- }
- }
- public class Main {
- public static void main(String[] args) {
- com.company.Pair.make_pair(5, "s");
- System.out.println();
- Bag bag = new Bag(5);
- bag.add(5);
- bag.add(1);
- bag.add(52);
- bag.add(-6);
- bag.add(3);
- bag.add(3);
- bag.add(4);
- bag.add(8);
- System.out.println(bag.retSize());
- System.out.println();
- System.out.println(bag.retElem(1));
- System.out.println();
- bag.show();
- bag.remove();
- bag.show();
- bag.remove();
- bag.show();
- bag.remove();
- bag.show();
- PairBag pairbag = new PairBag(5);
- pairbag.addpair(7, "cats");
- pairbag.addpair(5, "dogs");
- pairbag.addpair(10, "parrots");
- pairbag.addpair(2, "bears");
- pairbag.addpair(1, "tiger");
- pairbag.show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment