All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.algart.arrays.UpdatableIntArray Maven / Gradle / Ivy

Go to download

Open-source Java libraries, supporting generalized smart arrays and matrices with elements of any types, including a wide set of 2D-, 3D- and multidimensional image processing and other algorithms, working with arrays and matrices.

There is a newer version: 1.4.23
Show newest version
/*
 * The MIT License (MIT)
 *
 * Copyright (c) 2007-2024 Daniel Alievsky, AlgART Laboratory (http://algart.net)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package net.algart.arrays;

/*Repeat(INCLUDE_FROM_FILE, UpdatableFloatArray.java, all)
  PFloating ==> PInteger ;;
  Float(?!ing) ==> Int ;;
  float ==> int
     !! Auto-generated: NOT EDIT !! */

/**
 * 

AlgART array of int values, read/write access, no resizing.

* * @author Daniel Alievsky */ public interface UpdatableIntArray extends IntArray, UpdatablePIntegerArray { /** * Sets the element #index to the specified value. * * @param index index of element to replace. * @param value element to be stored at the specified position. * @throws IndexOutOfBoundsException if index is out of range 0..length()-1. */ void setInt(long index, int value); /** * Fills all the elements of this array by the specified value. Equivalent to * {@link #fill(long, long, int) fill}(0, thisArray.length(), value). * * @param value the value to be stored in all elements of the array. * @return a reference to this array. * @see #fill(long, long, int) * @see Arrays#zeroFill(UpdatableArray) */ UpdatableIntArray fill(int value); /** * Fills count elements of this array, starting from position index, * by the specified value. Equivalent to the following loop:
     * for (long k = 0; k < count; k++) {
     *     {@link #setInt(long, int) setInt}(position + k, value);
     * }
* but works much faster and checks indexes * (and throws possible IndexOutOfBoundsException) in the very beginning. * * @param position start index (inclusive) to be filled. * @param count number of filled elements. * @param value the value to be stored in the elements of the array. * @return a reference to this array. * @throws IndexOutOfBoundsException for illegal position and count * (position < 0 || count < 0 || position + count > length()). * @see #fill(int) * @see Arrays#zeroFill(UpdatableArray) */ UpdatableIntArray fill(long position, long count, int value); UpdatableIntArray subArray(long fromIndex, long toIndex); UpdatableIntArray subArr(long position, long count); UpdatableIntArray asUnresizable(); default Matrix matrix(long... dim) { return Matrices.matrix(this, dim); } /*Repeat.IncludeEnd*/ }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy